關(guān)于feign調(diào)用的參數(shù)傳遞問題(@RequestBody和@RequestParam)
feign調(diào)用的參數(shù)傳遞問題
SpringCloud Feign報(bào)錯(cuò):
java.lang.IllegalStateException: Method has too many Body parameters
上邊的報(bào)錯(cuò)提示為body太多了,feign調(diào)用的方法里只能有一個(gè)body但是requestparam可以多個(gè)
錯(cuò)誤寫法
正確寫法
異常原因:當(dāng)使用Feign時(shí),如果發(fā)送的是get請求,那么需要在請求參數(shù)前加上@RequestParam注解修飾,Controller里面可以不加該注解修飾。
body的正確形式
客戶端:
服務(wù)端:
不加@RequestBody的話userDTO就拿不到值
feign傳參總結(jié)
返回實(shí)體對象 服務(wù)提供者
Controller上有@RestController注解,沒截上
實(shí)體對象實(shí)現(xiàn)序列化接口
服務(wù)調(diào)用者
restful傳參 服務(wù)提供者
傳兩個(gè)參數(shù)
消費(fèi)者
傳實(shí)體對象 服務(wù)提供者
要想接收實(shí)體對象,必須加@RequestBody注解,注意這個(gè)注解最多只能有一個(gè),不能傳多個(gè)并且這個(gè)參數(shù)得放到最后面
消費(fèi)者
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Java實(shí)現(xiàn)一個(gè)高效可伸縮的計(jì)算結(jié)果緩存
這篇文章將通過對一個(gè)計(jì)算結(jié)果緩存的設(shè)計(jì)迭代介紹,分析每個(gè)版本的并發(fā)缺陷,并分析如何修復(fù)這些缺陷,最終完成一個(gè)高效可伸縮的計(jì)算結(jié)果緩存,感興趣的小伙伴可以了解一下2023-06-06Spring?Boot配置內(nèi)容加密實(shí)現(xiàn)敏感信息保護(hù)
之前我們講過的配置相關(guān)知識都是Spring?Boot原生就提供的,而今天我們將介紹的功能并非Spring?Boot原生就支持,但卻非常有用:配置內(nèi)容的加密2021-11-11Java中的三元運(yùn)算(三目運(yùn)算)以后用得到!
Java提供了一個(gè)三元運(yùn)算符,可以同時(shí)操作3個(gè)表達(dá)式,下面這篇文章主要給大家介紹了關(guān)于Java中三元運(yùn)算(三目運(yùn)算)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10Hibernate雙向多對多映射關(guān)系配置代碼實(shí)例
這篇文章主要介紹了Hibernate雙向多對多映射關(guān)系配置代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10gradle使用maven-publish發(fā)布jar包上傳到私有maven配置
這篇文章主要介紹了gradle使用maven-publish發(fā)布jar包上傳到私有maven的配置示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03