SpringCloud Feign调用服务接口时,GET请求变成POST请求报错 _

  • 时间:2025-11-11 17:48 作者: 来源: 阅读:0
  • 扫一扫,手机访问
摘要:原来像这种放在Body里传过来的get方式 必须feign调用的时候@GetMapping("/demofeigngetresbody")public  Resultdemofeigngetresbody(TestDemo testDemo){要用 @RequestParam 把每一个参数都写出来才算get不然默认就是POST找不到方法了@FeignClient("user-main")

原来像这种放在Body里传过来的get方式 必须feign调用的时候


@GetMapping("/demofeigngetresbody")

public  Resultdemofeigngetresbody(TestDemo testDemo){


要用 @RequestParam 把每一个参数都写出来才算get不然默认就是POST找不到方法了

@FeignClient("user-main")publicinterface UserFeignClient {

    @GetMapping("/query_user")

    Result> getUserList(@RequestParam Integer age, @RequestParam String name, @RequestParam(required =false) String job);

}


目前最重点的来了

关于feign的请求方式 下面的必定要注意



feign消费服务时,以GET方式请求的条件:

如果想让服务消费者采用GET方式调用服务提供者,那么需要:

1.服务消费者这边feign调用时,在所有参数前加上@RequestParam注解。

2.服务消费者这边feign调用时,指明为GET方式(注:如果不指明method,那么在条件1满足的情况下,采用的是默认的GET方式)。

注:这里条件1和条件2,是“且”的关系(都满足时,才为GET)。

feign消费服务时,以POST方式请求的条件:

如果想让服务消费者采用POST方式调用服务提供者,那么只需要:

1.服务消费者这边feign调用时,在所有参数前加上@RequestParam注解,并指明feign消费服务的方式为POST。

2.服务消费者这边feign调用时,有且只有一个参数前为@RequestBody或什么也没有(如果有多个参数,那么其余参数前必须有@RequestParam)。

注:这里条件1和条件2,是“或”的关系(当至少一个满足时,即为POST)。

注:在服务消费者中,使用feign消费服务时,如果参数前什么也不写,那么默认是由@RequestBody指明的。

即:只要不满足GET方式请求,那么POST方式请求是必定支持的。

作者:neko_11

链接:https://www.jianshu.com/p/17a10c8b32cb

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】最低 2 美元,这 55 款 macOS & Windows 应用一次全都入手(2025-11-11 22:01)
【系统环境|】SCI期刊对论文图片有哪些要求?(2025-11-11 22:00)
【系统环境|】论文缩写大全,拿走不谢(2025-11-11 22:00)
【系统环境|】阿甘正传高频词整理 GRE托福四六级词汇整理(2025-11-11 21:59)
【系统环境|】矢量图形编辑应用程序-WinFIG(2025-11-11 21:59)
【系统环境|】Figma上市首日暴涨250%的深层逻辑:为什么AI时代协作平台更加不可替代?(2025-11-11 21:58)
【系统环境|】FigJam是什么?一文读懂在线白板软件的方方面面!(2025-11-11 21:58)
【系统环境|】在windows上有什么好用的书写白板软件?(2025-11-11 21:57)
【系统环境|】Docker基础应用之nginx(2025-11-11 21:57)
【系统环境|】VS Code 新手必装插件清单(2025-11-11 21:56)
手机二维码手机访问领取大礼包
返回顶部