【发布时间】:2017-06-07 14:09:31
【问题描述】:
我创建了一个 Spring Boot 应用程序,我想在其中使用 Web Sockets。当我在没有参数的情况下使用它时,它工作正常。下面是不带参数的代码
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(new ABC(), "/getABC").setAllowedOrigins("*");
registry.addHandler(new XYZ(), "/getXYZ").setAllowedOrigins("*");
}
}
但现在我需要使用@PathParam 将参数传递给它。我无法在此配置中使用它,例如
registry.addHandler(new XYZ(), "/getXYZ{someId}").setAllowedOrigins("*");
我的处理程序代码:
public class XYZ extends TextWebSocketHandler {
static List<WebSocketSession> sessions = new CopyOnWriteArrayList<>();
String someId;
public XYZ() {
}
public XYZ(@PathParam(value = "someId") String someId) {
this.someId= someId;
}
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
// the messages will be broadcasted to all users.
sessions.add(session);
}
}
【问题讨论】:
-
您找到解决方案了吗?我被困在同一点上。
标签: java spring-boot websocket java-websocket