【发布时间】:2020-01-15 03:40:26
【问题描述】:
我正在调用一个 API,它将某些 HttpHeaders 列入黑名单,包括 Content-Length,这似乎是由 spring-openfeign 下的 HttpClient 预设的。
要正确接收 API 响应,我需要删除 Content-Length 标头。
已尝试以下解决方法:
- 我尝试使用可用的 Feign 注释
@Headers、@RequestHeaders将标头设置为 null 或空字符串 - 我实现了一个
RequestInterceptor,它创建了可用(不可变)标头映射的副本,删除了列入黑名单的标头并将映射设置为requestTemplate.headers(newHeaders)。但是只能添加新的标头,而不能修改可用的标头(似乎真的是不可变的;)) - 我研究了覆盖使用的 HttpClient,但直到现在才成功。
遇到的错误/问题:
我正在调用的 API 根据其标头架构验证返回 400。
代码:
如果需要任何 code-sn-ps,我很乐意提供它们,但对我来说,这个问题似乎与任何代码问题无关,因为我没有遇到任何异常。
提前致谢!!
【问题讨论】:
标签: java spring-boot spring-cloud-feign feign