В моем приложении весенней загрузки я получаю ошибку 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();
}
}
Поскольку запрос обрабатывается сервлетом диспетчера как обычный HTTP-запрос. поэтому вам нужно добавить аннотацию @Controller к классу WebSocketConfig
@Configuration
@EnableWebSocket
@Controller
public class WebSocketConfig implements WebSocketConfigurer
У меня была ошибка 404, затем я добавил контроллер, а затем я получил 403, как вы получаете, 403 похоже на ограничение доступа, поэтому я удалил фильтр CSRF для этой конечной точки, а затем он работает. Я надеюсь, что это помогает