開發中遇到的問題---【feign的多參數問題】


feign多參數問題

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);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM