java - Spring boot 在@MessageMapping 中获取域名
问题描述
在 Spring Boot 中,我可以通过@RequestHeader String host
in获取域@RequestMapping
但是我怎样才能在 in 中做同样的事情@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));
}
推荐阅读
- wordpress - Elementor WordPress 插件上的 Ajax 调用
- asynchronous - Kotlin:具有 Suspend Function 返回类型的高阶函数
- ios - 缩小后折线开始消失
- flutter - 处理异常 HTTP 请求颤动
- amazon-web-services - AWS S3 PutBucketLifecycleConfiguration 上的 MalformedXML 错误
- powershell - 如何在执行下一步之前检查所有字符串
- json - 哪些APP或软件可以将IFC还原为JSON
- javascript - 在我的 theme.js.liquid 文件中使用产品的 variant.inventory_policy
- javascript - 如何在正则表达式匹配之前提取一行?
- python - 如何并行执行python subTests?