這篇文章主要講解了SpringCloud如何請求Feign服務調(diào)用,內(nèi)容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設,隆安企業(yè)網(wǎng)站建設,隆安品牌網(wǎng)站建設,網(wǎng)站定制,隆安網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,隆安網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
前言
最近做微服務架構(gòu)的項目,在用feign來進行服務間的調(diào)用。在互調(diào)的過程中,難免出現(xiàn)問題,根據(jù)錯誤總結(jié)了一下,主要是請求方式的錯誤和接參數(shù)的錯誤造成的。在此進行一下總結(jié)記錄。以下通過分為三種情況說明,無參數(shù),單參數(shù),多參數(shù)。每種情況再分get和post兩種請求方式進行說明。這樣的話,6種情況涵蓋了feign調(diào)用的所有情況。
有個建議就是為了保證不必要的麻煩,在寫feign接口的時候,與我們的映射方法保持絕對一致,同時請求方式,請求參數(shù)注解也都不偷懶的寫上。如果遵循這種規(guī)范,可以避開90%的調(diào)用錯誤。
無參情況
無參情況就是說我們的方法內(nèi)不接收參數(shù)。
Get請求
當我們只寫RequestMapping,而不指定RequestMethod的時候。默認的method為一個get請求。
@RequestMapping("/noArgs/getDemo") public void noArgsGetDemo();
Post請求
@RequestMapping(value = "/noArgs/postDemo",method = RequestMethod.POST) public void noArgsPostDemo();
也可以直接使用PostMapping
@PostMapping(value = "/noArgs/postDemo") public void noArgsPostDemo();
單個參數(shù)的情況
方法內(nèi)只有一個參數(shù)
Get請求
get請求方式接參,只能使用RequestParam注解
@RequestMapping(value = "/singleArg/getDemo") public void singleArgGetDemo(@RequestParam String name);
不寫RequestMethod注解,默認就是get請求。
Post請求
post請求方式接參,可以使用三種方式,一種是不寫,一種是RequestParam,一種是RequestBody。
RequestParam
先說說RequestParam這種方式。需要指明method,如果不指明則和上方一樣了。默認是get。
@RequestMapping(value = "/singleArg/PostDemo",method = RequestMethod.POST) public void singleArgPostDemo(@RequestParam String name);
RequestBody
一旦使用RequestBody這種方式,他就是post請求,不用寫method了。
@RequestMapping(value = "/singleArg/PostDemo") public void singleArgPostDemo(@RequestBody String name);
這個注解就很強勢了,你寫post,不寫或者寫get都沒用,不會生效的,只要有這個方式那他就是Post請求了。
啥也不寫
@RequestMapping(value = "/singleArg/PostDemo") public void singleArgPostDemo(String name);
此時默認會在參數(shù)前加上RequestBody注解。然后就會變成Post請求。
多參
get請求
多個參數(shù)也是使用@RequestParam注解。
@RequestMapping(value = "/moreArgs/getDemo") public void moreArgGetDemo(@RequestParam String name,@RequestParam String sex);
使用了RequestParam注解,默認method就是get。
post請求
多個參數(shù)只能有一個是requestBody方式,其他應該使用requestParam方式。
@RequestMapping(value = "/moreArgs/postDemo") public void moreArgPostDemo(@RequestBody String name,@RequestParam String sex);
也可以全部使用RequestParam方式,但是要指定post。
@RequestMapping(value = "/moreArgs/postDemo",method = RequestMethod.POST) public void moreArgPostDemo(@RequestParam String name,@RequestParam String sex);
如果要是參數(shù)前,都沒寫注解,則會報錯,因為會默認加上兩個RequestBody。
看完上述內(nèi)容,是不是對SpringCloud如何請求Feign服務調(diào)用有進一步的了解,如果還想學習更多內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
標題名稱:SpringCloud如何請求Feign服務調(diào)用
網(wǎng)頁網(wǎng)址:http://www.rwnh.cn/article28/gpojjp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供電子商務、營銷型網(wǎng)站建設、定制網(wǎng)站、網(wǎng)站建設、外貿(mào)建站、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)