我已经创建了spring boot websocket项目。我想知道
localhost:9090 / gs-guide-websocket / parm1 / param2 / websocket
这个Api是什么意思?
在这里我知道'gs-guide-websocket'是我的websocket端点,但是其余的是什么?
WebSocketConfig.java
@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();
}
Controller.java
@MessageMapping("/hello")
@SendTo("/topic/greetings")
public Greeting greeting(HelloMessage message) throws Exception {
Thread.sleep(1000); // simulated delay
return new Greeting("Hello, " + HtmlUtils.htmlEscape(message.getName()) + "!");
}
在about Url中,发件人身份是什么,我们要向谁发送? 代码工作正常。
答案 0 :(得分:1)
@MessageMapping
注释可确保如果将消息发送到destination "/hello"
,则将调用greeting()
方法。
在1秒钟的延迟之后,greeting()
方法创建了Greeting对象并返回它。根据{{1}}批注中的指定,该返回值将广播给"/topic/greetings"
的所有订阅者。