在Springboot 1.5.4.RELEASE中使用Feign @HeaderMap不会发送标题

时间:2017-07-21 08:59:26

标签: spring-boot spring-cloud-feign

我正在尝试使用feign.HeaderMap注释在其余请求中传递HTTP标头的映射,但这些映射出现在正文中。

以下代码:

@FeignClient(name =“accounts”,url =“localhost:8080”) 公共接口AccountClient {

@RequestMapping(method = RequestMethod.GET, value = "/rest/accounts/get", produces = MediaType.APPLICATION_JSON_VALUE)
Account findOne(@RequestParam("id") String id, @HeaderMap Map headers);

}

1 个答案:

答案 0 :(得分:0)

您正在混合注释。使用spring-cloud-netflix时,您需要使用Spring注释@RequestHeader

@RequestMapping(method = RequestMethod.GET, 
        value = "/rest/accounts/get", 
        produces = MediaType.APPLICATION_JSON_VALUE)
Account findOne(@RequestParam("id") String id, @RequestHeader Map headers);

默认情况下,在Feign中,所有未注释的参数都将在正文中序列化。