В моем весеннем загрузочном приложении я получаю сообщение об ошибке 404 на стороне клиента при попытке подключиться к конечной точке ws.
404
ws
код на стороне клиента
let wsUri = "ws://localhost:8080/chat" let websocket = new WebSocket(wsUri);
пружинный конфиг
package coffee.web; import org.springframework.context.annotation.Bean; import org.springframework.web.socket.config.annotation.EnableWebSocket; import org.springframework.web.socket.config.annotation.WebSocketConfigurer; import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; @EnableWebSocket public class WebSocketConfig implements WebSocketConfigurer { @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(chatServer(), "/chat"); } @Bean public ChatServer chatServer() { return new ChatServer(); } }
Я получал ошибку 404, затем я добавил контроллер, а затем я получал 403, как вы получаете, 403, как ограничение доступа, поэтому я удалил фильтр CSRF для этой конечной точки, и тогда он работает.я надеюсь, что это поможет
Поскольку запрос обрабатывается диспетчером-сервлетом как обычный http-запрос.поэтому вам нужно добавить аннотацию @Controller в класс WebSocketConfig
@Configuration @EnableWebSocket @Controller public class WebSocketConfig implements WebSocketConfigurer