在春季启动中,我可以通过@RequestHeader String host
中的@RequestMapping
获取域
但是如何在@MessageMapping
中做同样的事情?
例如。
@RequestMapping("/abc")
public String getHost(@RequestHeader String host) {
return host;
}
我将弹簧靴存放在
www.example.com
中,然后在访问www.example.com/abc
时返回www.example.com
我想在
@MessageMapping
代码中做同样的事情下面是我的
@MessageMapping
代码。@MessageMapping("/cba")
public void cba(SimpleRequest request, SimpMessageHeaderAccessor accessor) {
//System.out.println(host);
}
SimpleRequest
是我的websocket客户端的请求obj我想在我的
@MessageMapping
代码中获取域名谢谢
最佳答案
您可以尝试使用@Header
批注
见下面的例子
@MessageMapping("/optionalHeaders")
public void optionalHeaders(@Header(name="foo", required=false) String foo1, @Header("foo") Optional<String> foo2) {
this.method = "optionalHeaders";
this.arguments.put("foo1", foo1);
this.arguments.put("foo2", (foo2.isPresent() ? foo2.get() : null));
}