记录一次Feign设置多个不同参数的Header头部,并且@Headers无效

记录一次Feign设置多个不同参数的Header头部,并且@Headers无效

遇到问题

最近遇到一个问题,在微服务调用的过程中,我在用feign调用其他服务的过程中,我需要设置一个header数据,但是不知道怎么设置才正确,这里记录一下。

原问题

我在项目中A服务需要调用ES的数据,这里我们采用feign的接口方式来调用,并且在A服务中我们需要调用B服务,这时候我们也是采用feign的方式来调用,在A服务中新建下面两个feign接口
在这里插入图片描述

  1. 调用ES服务接口
    在这里插入图片描述
    我们这里采用的是
    @FeignClient(name = "es",url = "${es.url}", configuration = FeignConfig.class)
    来调用,同时基本的请求设置都在FeignConfig.class这个类中。
    在调用方法时候,我们采用
    @PostMapping(value= "/{index}/XXX",headers = {"content-type=application/json;charset=UTF-8"})
    方式采用设置请求ES的请求头信息,这样我们在请求时候是没有问题的。
  2. 但是在设置另一个请求时候
    使用相同的方法
@PostMapping(value = "/tldp/pageQueryXXX")
@Headers({"Content-Type: application/json","user_id: AAAAAA","end_card: BBBBB"})
JSONObject feignQueryTldp(@RequestBody TldpQueryEntity tldpQueryEntity)
方法一直不行,设置的头部数据一直不生效。后来参考一篇文章
[https://blog.csdn.net/shmily_lsl/article/details/101519273](https://blog.csdn.net/shmily_lsl/article/details/101519273)

将方法改成

@RequestMapping(value = "/tldp/pageQueryXXX",method = RequestMethod.POST, headers = {"Content-Type=application/json","user_id=AAAAAA","end_card=BBBBB"})
JSONObject feignQueryTldp(@RequestBody TldpQueryEntity tldpQueryEntity);

最终解决了问题

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值