背景
部门技术升级,HttpClient需要升级Feign调用,重构某一个资方时遇到请求需要添加上自定义签名headers,踩坑后记录了下来
方案一:方法上的@RequestMapping注解添加headers信息
@RequestMapping注解的属性中包含一个headers数组,所以尝试使用,在指定的方法上@RequestMapping注解中添加需要的headers,可以是写死的,也可以读取配置,测试是有效的
同理@RequestMapping一组的@PostMapping,@GetMapping注解等均适用
@FeignClient(name = "server",url = "127.0.0.1:8080")
public interface FeignTest {
@RequestMapping(value = "/test",headers = {
"app=test-app","token=${test-app.token}"})
String test();
}
方案二:接口上的@RequestMapping注解添加headers信息
针对单个方法可以在方法上的@RequestMapping注解中添加headers,如果同一个接口中所有的方法都需要同样的headers时在方法上加就比较繁琐了,可以在接口上的@RequestMapping注解中添加headers,使整个接口的方法均被添加同样的headers
@FeignClient(name = "server",url = "127.0.0.1:8080")
@RequestMapping(value = "/",headers = {
"app=test-app","token=${test-app.token}"})
public interface FeignTest {
@RequestMapping(