背景
使用Feign调用外部接口时,需要在Headers中带一个如下的参数:
按照网上的说法,有通过注解@Header
的方式; 有在@RequestMapping
中设置header属性的方式.; 有通过拦截器实现header值的填充. 亲自尝试过之后,第一种方法不起作用,第二种方法不支持动态参数(发现一篇博客,这篇博客的方案二讲了如何使用动态参数,但没有亲自尝试.). 第三种会拦截所有的请求,不优雅难以根据不同的服务方提供不同的 header.
似乎陷入了死胡同,但是我突然想到:Feign是完全支持Spring MVC注解的,那我是不是只要搜索一下在
Spring MVC中如何使用注解设置header不就可以了吗.
@RequestMapping(value = "/user", method = RequestMethod.GET)
Response authentication(@RequestHeader(name = "Cookie") String header);
问题解决.