【问题标题】:spring boot websocket api 404 not found找不到弹簧启动websocket api 404
【发布时间】:2018-12-06 09:14:03
【问题描述】:

在我的 Spring Boot 应用程序中,当我尝试连接到 ws 端点时,客户端出现 404 错误。

客户端代码

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();
   }
}

【问题讨论】:

    标签: spring spring-boot spring-ws spring-websocket


    【解决方案1】:

    由于请求由调度程序 servlet 处理为正常的 http 请求。所以你需要在 WebSocketConfig 类中添加@Controller 注解

    @Configuration
    @EnableWebSocket
    @Controller
    public class WebSocketConfig implements WebSocketConfigurer
    

    【讨论】:

      【解决方案2】:

      我收到了 404 错误,然后我添加了控制器,然后我收到了 403,就像你得到的那样,403 就像访问限制,所以我已经删除了那个端点的 CSRF 过滤器,然后它就可以工作了。希望对你有帮助

      【讨论】:

        猜你喜欢
        • 2022-01-04
        • 1970-01-01
        • 2019-05-07
        • 2018-09-08
        • 2021-09-19
        • 1970-01-01
        • 1970-01-01
        • 2019-05-03
        • 2012-01-14
        相关资源
        最近更新 更多