@FeignClient 添加请求头header的4种方法
一、单个Feign请求添加header
方法1.在@RequestMapping中添加
@FeignClient(
url = "${orderServer_domain:http://order:8082}",
value = "order-server",
contextId = "OrderServerClient",
path = "/api/order"
)
public interface OrderRemoteClient {
@RequestMapping(value="/detail", method = RequestMethod.POST,
headers = {"Content-Type=application/json;charset=UTF-8"})
Order detail(@RequestParam("orderId") String orderId);
}
方法2. 使用@RequestHeader注解添加
@FeignClient(
url = "${orderServer_domain:http://order:8082}",
value = "order-server",
contextId = "OrderServerClient",
path = "/api/order"
)
public interface OrderRemoteClient {
@RequestMapping(value="/detail", method = RequestMethod.POST)
List<String> detail(@RequestHeader Map<String, String> headerMap, @RequestParam("orderId") String orderId);
}
方法3. 使用@Headers注解添加
@FeignClient(
url = "${orderServer_domain:http://order:8082}",
value = "order-server",
contextId = "OrderServerClient",
path = "/api/order"
)
public interface OrderRemoteClient {
@RequestMapping(value="/detail", method = RequestMethod.POST)
@Headers({"Content-Type: application/json;charset=UTF-8"})
List<String> detail(@RequestHeader Map<String, String> headerMap, @RequestParam("orderId") String orderId);
}
二、全局Feign请求添加header
实现RequestInterceptor接口
@Configuration
public class FeignRequestInterceptor implements RequestInterceptor {
@Override
public void apply(RequestTemplate requestTemplate) {
ServletRequestAttributes attributes = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes());
if (attributes != null) {
HttpServletRequest request = attributes.getRequest();
requestTemplate.header(HttpHeaders.AUTHORIZATION, request.getHeader(HttpHeaders.AUTHORIZATION));
requestTemplate.header("proxyHost", request.getHeader("proxyHost"));
}
}
}
标签:
FeignClient
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2018-02-07 HandlerMethodArgumentResolver 参数解析器