我目前尝试实现一个对后端的POST调用,这需要我将json作为主体进行POST。
现在我面临的问题是,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条答案
按热度按时间8ehkhllq1#
这是一个已知漏洞:
https://github.com/OpenFeign/feign/issues/503
如果你需要主体,试试Unirest。不是声明性的,而是一个构建器。