![](/img/trans.png)
[英]How can I write Security tests for Spring Boot WebSocket endpoints
[英]Spring Boot endpoints + webSocket
我正在開發應用程序,該應用程序具有用於實體上的 CRUD 操作的常規端點(我正在注入控制器),應用程序的流程應該使實體的屬性不斷變化,因此我需要實時通知前端這些更改. 這就是為什么我注冊了 Web Socket
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry webSocketHandlerRegistry) {
webSocketHandlerRegistry.addHandler(new PositionHandler(),"/positions").setAllowedOrigins("*");
}
class PositionHandler extends TextWebSocketHandler {
private List<WebSocketSession> sessions = new CopyOnWriteArrayList<>();
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
sessions.add(session);
while(session.isOpen()){
HERE I WOULD LIKE TO ACCESS METHOD FOR CONTROLLER
}
super.afterConnectionEstablished(session);
}
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
for(WebSocketSession s: sessions){
session.sendMessage(message);
}
super.handleTextMessage(session, message);
}
}
}
在 afterConnectionEstablished 內部我想使用 controller 中的方法,這些方法被注入到普通的@RestController class 中。 有沒有可能做到這一點? 如果不是,我應該如何重構。 PS WebSocket 有效。
您可以在處理程序中進行依賴注入(@Autowired 注釋)並從 rest controller 調用方法。 但你為什么要這樣做? controller 里面有業務邏輯嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.