fzy-blog

Feign 动态设置 Header

2019-05-24

Feign 动态设置 Header

https://www.jianshu.com/p/4d3cede9bc88

Feign 设置全局 header

Feign 调用接口是经常会忘 header 信息,再次介绍两种忘 header 里面添加信息的方式: 1.通过直接在请求上,或者在类上添加 Headers 的注解

1
2
3
@Headers({"Content-Type: application/json","Accept: application/json",Accept {contentType}})
@PostMapping(value = "/card-blank/batch-create")
Response batchCreateCard(@RequestBody CreateCardBlankDTO condition,@Param("contentType") String type);

使用{contentType} 可以传递动态 header 属性

  1. 通过实现 RequestInterceptor 接口,完成对所有的 Feign 请求,设置 Header
1
2
3
4
5
6
7
8
9
10
11
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.stereotype.Component;

@Component
public class FeignInterceptor implements RequestInterceptor{

public void apply(RequestTemplate requestTemplate){
requestTemplate.header("hotelId", "111111");
}
}

这种方式也可以设置请求的其他属性,很灵活的一种方式:

参考文档:
https://my.oschina.net/aulbrother/blog/1610011

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章