關于feign調用的參數傳遞問題(@RequestBody和@RequestParam)
feign調用的參數傳遞問題
SpringCloud Feign報錯:
java.lang.IllegalStateException: Method has too many Body parameters
上邊的報錯提示為body太多了,feign調用的方法里只能有一個body但是requestparam可以多個
錯誤寫法

正確寫法

異常原因:當使用Feign時,如果發(fā)送的是get請求,那么需要在請求參數前加上@RequestParam注解修飾,Controller里面可以不加該注解修飾。
body的正確形式
客戶端:

服務端:

不加@RequestBody的話userDTO就拿不到值
feign傳參總結
返回實體對象 服務提供者
Controller上有@RestController注解,沒截上

實體對象實現序列化接口

服務調用者



restful傳參 服務提供者
傳兩個參數

消費者



傳實體對象 服務提供者
要想接收實體對象,必須加@RequestBody注解,注意這個注解最多只能有一個,不能傳多個并且這個參數得放到最后面

消費者



以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
gradle使用maven-publish發(fā)布jar包上傳到私有maven配置
這篇文章主要介紹了gradle使用maven-publish發(fā)布jar包上傳到私有maven的配置示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-03-03

