在Spring Boot中,我可以通过@RequestMapping
中的@RequestHeader String host
获取域名
但我怎样才能在 @MessageMapping 中做同样的事情呢?
例如。
@RequestMapping("/abc")
public String getHost(@RequestHeader String host) {
return host;
}
我将 Spring Boot 托管在 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
是来 self 的 websocket 客户端的请求对象
我想在我的 @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));
}
关于java - Spring boot 在@MessageMapping中获取域名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60557097/