【发布时间】:2020-07-19 19:46:28
【问题描述】:
出于某种原因,我需要调用 GET 方法 API 并为其传递 json 请求正文。我真的找不到它的例子。我想知道它是否甚至支持使用 feign。 如何使用 feign 做到这一点?
【问题讨论】:
标签: spring-boot feign openfeign
出于某种原因,我需要调用 GET 方法 API 并为其传递 json 请求正文。我真的找不到它的例子。我想知道它是否甚至支持使用 feign。 如何使用 feign 做到这一点?
【问题讨论】:
标签: spring-boot feign openfeign
根据文档,正确的做法是使用 @SpringQueryMap 注释。
@FeignClient(name = "clientName", url = "http://localhost:8888")
public interface SampleFeignClient {
@GetMapping("/remote")
String test(@SpringQueryMap SampleRequestBody sampleRequestBody);
}
您可以找到更多信息here
【讨论】:
是的,Feign 支持它。您可以对 POST 请求执行相同的操作:
@FeignClient(name = "clientName", url = "http://localhost:8888")
public interface SampleFeignClient {
@GetMapping("/remote")
String test(@RequestBody SampleRequestBody sampleRequestBody);
}
但请注意:许多服务器会忽略正文,甚至完全拒绝那种“非标准”请求(带有请求正文的 GET 或 HEAD)。
【讨论】: