2

我正在尝试使用 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);

}

4

1 回答 1

6

您正在混合注释。使用时,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默认情况下,所有未注解的参数都将在 Body 中序列化。

于 2018-03-20T20:13:02.297 回答