1.GET方式

错误写法

@RequestMapping(value="/test", method=RequestMethod.GET)  
Model test(final String name,  final int age);  

启动服务的时候,会报如下异常:

Caused by: java.lang.IllegalStateException: Method has too many Body parameters: public abstract com.chhliu.springboot.restful.vo.User com.chhliu.springboot.restful.feignclient.UserFeignClient.findByUsername(java.lang.String,java.lang.String) 

异常原因:当使用Feign时,如果发送的是get请求,那么需要在请求参数前加上@RequestParam注解修饰,Controller里面可以不加该注解修饰。

正确写法

@RequestMapping(value="/test", method=RequestMethod.GET)  
Model test(@RequestParam("name") final String name,@RequestParam("age")  final int age); 

2.POST方式

错误写法

public int save(@RequestBody final Person p, @RequestBody final UserModel user);

feign中你可以有多个@RequestParam,但只能有不超过一个@RequestBody。

正确写法

public int save(@RequestBody final Person p,@RequestParam("userId") String userId,@RequestParam("userTel") String userTel);

相关文章:

  • 2021-09-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-02
  • 2021-07-11
  • 2021-09-05
猜你喜欢
  • 2021-08-02
  • 2021-11-11
  • 2021-08-27
  • 2022-12-23
  • 2021-11-04
  • 2021-07-24
  • 2021-09-16
相关资源
相似解决方案