關于feign調用的參數(shù)傳遞問題(@RequestBody和@RequestParam)
feign調用的參數(shù)傳遞問題
SpringCloud Feign報錯:
java.lang.IllegalStateException: Method has too many Body parameters
上邊的報錯提示為body太多了,feign調用的方法里只能有一個body但是requestparam可以多個
錯誤寫法
正確寫法
異常原因:當使用Feign時,如果發(fā)送的是get請求,那么需要在請求參數(shù)前加上@RequestParam注解修飾,Controller里面可以不加該注解修飾。
body的正確形式
客戶端:
服務端:
不加@RequestBody的話userDTO就拿不到值
feign傳參總結
返回實體對象 服務提供者
Controller上有@RestController注解,沒截上
實體對象實現(xiàn)序列化接口
服務調用者
restful傳參 服務提供者
傳兩個參數(shù)
消費者
傳實體對象 服務提供者
要想接收實體對象,必須加@RequestBody注解,注意這個注解最多只能有一個,不能傳多個并且這個參數(shù)得放到最后面
消費者
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Spring?Boot配置內容加密實現(xiàn)敏感信息保護
之前我們講過的配置相關知識都是Spring?Boot原生就提供的,而今天我們將介紹的功能并非Spring?Boot原生就支持,但卻非常有用:配置內容的加密2021-11-11gradle使用maven-publish發(fā)布jar包上傳到私有maven配置
這篇文章主要介紹了gradle使用maven-publish發(fā)布jar包上傳到私有maven的配置示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-03-03