4

出于某种原因,我需要调用 GET 方法 API 并为其传递 json 请求正文。我真的找不到它的例子。我想知道它是否甚至支持使用 feign。我怎样才能使用 feign 做到这一点?

4

2 回答 2

4

是的,Feign 支持它。您可以执行与 POST 请求相同的操作:

@FeignClient(name = "clientName", url = "http://localhost:8888")
public interface SampleFeignClient {

    @GetMapping("/remote")
    String test(@RequestBody SampleRequestBody sampleRequestBody);
}

但请注意:许多服务器会忽略正文,甚至完全拒绝那种“非标准”请求(带有请求正文的 GET 或 HEAD)。

于 2020-04-09T12:53:08.523 回答
3

根据文档,正确的方法是使用@SpringQueryMap注释。

@FeignClient(name = "clientName", url = "http://localhost:8888")
public interface SampleFeignClient {

    @GetMapping("/remote")
    String test(@SpringQueryMap SampleRequestBody sampleRequestBody);
}

你可以在这里找到更多信息

于 2021-04-27T19:10:03.877 回答