Spring Boot / FeignClient:POST Json Body

问题描述 投票:0回答:1

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

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

一旦我添加单个

@Param
或地图,这些值就会被传递,客户端就可以正常工作。

为了提高可读性,我更愿意用 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();
spring-boot spring-cloud-feign
1个回答
0
投票

这是一个已知的错误:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.