一 利用Cookie
let ws = new WebSocket("ws://localhost:7777/test");
建立连接前会先发送一个包含 Upgrade: websocket 请求头的GET请求,请求头会携带Cookies等信息,所以可以利用Cookie把token传给后台(后面有时间要看一下websocket协议的RFC)
@Component
public class MyInterceptor1 implements HandshakeInterceptor {
//1. 建立请求先来这儿
@Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {
HttpHeaders h=request.getHeaders();
System.out.println("连接请求来啦!!");
return true;//若返回false不会建立连接
}
二 serverHttpRequest.getURI()
得到的是完整路径 GET update那个URL,这个貌似只能自己来提取,ServerHttpRequest
没有提供获取参数的方法