Webソケットを使用するスプリングブートアプリケーションを作成しました。私はパラメータなしでそれを使用しているときにうまく動作します。以下はパラメータのないコードですWebSocketConfigurerの@PathParam(javax.websocket.server.PathParam)をSpringブートアプリケーションのために使用する
@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);
}
}
誰が助けることはできますか?
使用してみては?私は同じ点で立ち往生している。 –