【问题标题】:Feign get request with bodyFeign 用 body 获取请求
【发布时间】:2020-07-19 19:46:28
【问题描述】:

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

【问题讨论】:

    标签: spring-boot feign openfeign


    【解决方案1】:

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

    @FeignClient(name = "clientName", url = "http://localhost:8888")
    public interface SampleFeignClient {
    
        @GetMapping("/remote")
        String test(@SpringQueryMap SampleRequestBody sampleRequestBody);
    }
    

    您可以找到更多信息here

    【讨论】:

      【解决方案2】:

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

      @FeignClient(name = "clientName", url = "http://localhost:8888")
      public interface SampleFeignClient {
      
          @GetMapping("/remote")
          String test(@RequestBody SampleRequestBody sampleRequestBody);
      }
      

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

      【讨论】:

        猜你喜欢
        • 2019-12-04
        • 2021-07-03
        • 2020-08-27
        • 1970-01-01
        • 1970-01-01
        • 2016-05-17
        • 2020-03-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多