一、单个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注解添加
方法3. 使用@Headers注解添加
二、全局Feign请求添加header
实现RequestInterceptor接口
@Configuration
public class FeignRequestInterceptor implements RequestInterceptor {@Overridepublic 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"));}}
}