Spring Boot / FeignClient:POST Json Body

时间:2018-05-25 08:37:33

标签: spring-boot spring-cloud-feign

我目前尝试对后端实施POST调用,这需要我将POST json作为正文。

现在我面临的问题是,Feign没有将带注释的Body传递给后端,而只是空数据。

只要我添加一个@Param或Map,就会传递这些值并且客户端正常工作。

为了提高可读性,我更喜欢使用Body注释方法并从我的配置中获取值,而不是将它们作为方法参数传递。

以下示例应根据Feign文档:

运行
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@Headers("Content-Type: " + MediaType.APPLICATION_JSON_VALUE)
@Body("%7B\n"
  + "  \"user\": \"${logintoken.user}\",\n"
  + "  \"pwd\": \"${logintoken.password}\",\n"
  + "%7D")
String getLoginToken();

1 个答案:

答案 0 :(得分:0)

这是一个众所周知的错误:

https://github.com/OpenFeign/feign/issues/503

如果你需要身体,请尝试Unirest。不是声明性的,而是建设者。