0
我已经创建了一个我希望使用Web套接字的弹簧引导应用程序。当我没有参数使用它时,它的工作正常。下面是没有参数的代码在WebSocketConfigurer中使用@PathParam(javax.websocket.server.PathParam)用于Spring Boot应用程序
@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);
}
}
谁能帮助?
你找到一个解决方案?我被困在同一点。 –