栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

带有文本/ html响应的反应式WebClient GET请求

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

带有文本/ html响应的反应式WebClient GET请求

让服务发送带有

"text/html"
Content-Type的JSON 是非常不寻常的。

有两种方法可以解决此问题:

  1. 配置Jackson解码器也可以解码
    "text/html"
    内容;查看
    WebClient.builder().exchangeStrategies(ExchangeStrategies)
    设置方法
  2. 快速更改“ Content-Type”响应标头

这是第二种解决方案的建议:

WebClient client = WebClient.builder().filter((request, next) -> next.exchange(request)     .map(response -> {         MyClientHttpResponseDecorator decorated = new   MyClientHttpResponseDecorator(response);          return decorated;     })).build();class MyClientHttpResponseDecorator extends ClientHttpResponseDecorator {  private final HttpHeaders httpHeaders;  public MyClientHttpResponseDecorator(ClientHttpResponse delegate) {    super(delegate);    this.httpHeaders = new HttpHeaders(this.getDelegate().getHeaders());    // mutate the content-type header when necessary  }  @Override  public HttpHeaders getHeaders() {    return this.httpHeaders;  }}

请注意,您仅应在该上下文中(对于此主机)使用该客户端。如果可以的话,我强烈建议您尝试修复服务器返回的那种奇怪的内容类型。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428526.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号