Как остальные API и веб-сокеты могут работать вместе? - PullRequest
0 голосов
/ 30 марта 2020

Я нашел пример веб-сокета от Inte rnet, и у меня возник вопрос, который поможет мне в реализации моего проекта

@Controller
@SendTo("/topic/greetings")

public class GreetingController {

@MessageMapping("/hello")
public Greeting greeting(HelloMessage message) throws Exception {
    Thread.sleep(1000); // simulated delay
    return new Greeting("Hello, name " + HtmlUtils.htmlEscape(message.getName()) + "!");
}



}

, в этом контроллере есть обмен именами и все работает правильно

@Configuration
@EnableWebSocketMessageBroker

public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
    config.enableSimpleBroker("/topic");
    config.setApplicationDestinationPrefixes("/app");
}

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
    registry.addEndpoint("/gs-guide-websocket").withSockJS();
}

}

В моем проекте я хочу использовать остальные API, который будет вызывать метод в контроллере

@Controller
@RequestMapping("/name")
public class SampleController {

GreetingController greetingController;

public SampleController() {
    greetingController = new GreetingController();
}

@PostMapping
public void name(@RequestBody HelloMessage helloMessage) throws Exception {
    greetingController.greeting(helloMessage);
}
}

Когда я вызываю метод на API я пытаюсь отправить значение в сокет, чтобы каждый, кто подписывается, получил это значение. Контроллер, который я написал, является примером. Возможно ли это? Спасибо заранее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...