我想做的是处理未定义的请求,并在我的SockJS
中使用REST API
这是我所拥有的:
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry webSocketHandlerRegistry) {
webSocketHandlerRegistry
.addHandler(myHandler(), "/chatty")
.setAllowedOrigins("*")
.withSockJS()
.setWebSocketEnabled(true);
}
@Bean
public WebSocketHandler myHandler() {
return new ChatHandler();
}
}
和
@CrossOrigin("*")
public class ChatHandler extends TextWebSocketHandler {
///...
}
一切正常,直到我添加以下内容:
@RestController("error")
public class ErrorController {
@GetMapping(produces = "application/json")
public String error() {
//...
}
}
我注意到上面的处理程序捕获了所有套接字SockJS
请求。
任何人都可以向我提供有关此行为以及如何避免它的一些信息
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.1.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>