真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringCloud如何請(qǐng)求Feign服務(wù)調(diào)用

這篇文章主要講解了SpringCloud如何請(qǐng)求Feign服務(wù)調(diào)用,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),隆安企業(yè)網(wǎng)站建設(shè),隆安品牌網(wǎng)站建設(shè),網(wǎng)站定制,隆安網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,隆安網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

前言

最近做微服務(wù)架構(gòu)的項(xiàng)目,在用feign來(lái)進(jìn)行服務(wù)間的調(diào)用。在互調(diào)的過(guò)程中,難免出現(xiàn)問(wèn)題,根據(jù)錯(cuò)誤總結(jié)了一下,主要是請(qǐng)求方式的錯(cuò)誤和接參數(shù)的錯(cuò)誤造成的。在此進(jìn)行一下總結(jié)記錄。以下通過(guò)分為三種情況說(shuō)明,無(wú)參數(shù),單參數(shù),多參數(shù)。每種情況再分get和post兩種請(qǐng)求方式進(jìn)行說(shuō)明。這樣的話,6種情況涵蓋了feign調(diào)用的所有情況。

有個(gè)建議就是為了保證不必要的麻煩,在寫feign接口的時(shí)候,與我們的映射方法保持絕對(duì)一致,同時(shí)請(qǐng)求方式,請(qǐng)求參數(shù)注解也都不偷懶的寫上。如果遵循這種規(guī)范,可以避開(kāi)90%的調(diào)用錯(cuò)誤。

無(wú)參情況

無(wú)參情況就是說(shuō)我們的方法內(nèi)不接收參數(shù)。

Get請(qǐng)求

當(dāng)我們只寫RequestMapping,而不指定RequestMethod的時(shí)候。默認(rèn)的method為一個(gè)get請(qǐng)求。

@RequestMapping("/noArgs/getDemo")
public void noArgsGetDemo();

Post請(qǐng)求

@RequestMapping(value = "/noArgs/postDemo",method = RequestMethod.POST)
public void noArgsPostDemo();

也可以直接使用PostMapping

  @PostMapping(value = "/noArgs/postDemo")
  public void noArgsPostDemo();

單個(gè)參數(shù)的情況

方法內(nèi)只有一個(gè)參數(shù)

Get請(qǐng)求

get請(qǐng)求方式接參,只能使用RequestParam注解

  @RequestMapping(value = "/singleArg/getDemo")
  public void singleArgGetDemo(@RequestParam String name);

不寫RequestMethod注解,默認(rèn)就是get請(qǐng)求。

Post請(qǐng)求

post請(qǐng)求方式接參,可以使用三種方式,一種是不寫,一種是RequestParam,一種是RequestBody。

RequestParam

先說(shuō)說(shuō)RequestParam這種方式。需要指明method,如果不指明則和上方一樣了。默認(rèn)是get。

  @RequestMapping(value = "/singleArg/PostDemo",method = RequestMethod.POST)
  public void singleArgPostDemo(@RequestParam String name);

RequestBody

一旦使用RequestBody這種方式,他就是post請(qǐng)求,不用寫method了。

  @RequestMapping(value = "/singleArg/PostDemo")
  public void singleArgPostDemo(@RequestBody String name);

這個(gè)注解就很強(qiáng)勢(shì)了,你寫post,不寫或者寫get都沒(méi)用,不會(huì)生效的,只要有這個(gè)方式那他就是Post請(qǐng)求了。

啥也不寫

  @RequestMapping(value = "/singleArg/PostDemo")
  public void singleArgPostDemo(String name);

此時(shí)默認(rèn)會(huì)在參數(shù)前加上RequestBody注解。然后就會(huì)變成Post請(qǐng)求。

多參

get請(qǐng)求

多個(gè)參數(shù)也是使用@RequestParam注解。

  @RequestMapping(value = "/moreArgs/getDemo")
  public void moreArgGetDemo(@RequestParam String name,@RequestParam String sex);

使用了RequestParam注解,默認(rèn)method就是get。

post請(qǐng)求

多個(gè)參數(shù)只能有一個(gè)是requestBody方式,其他應(yīng)該使用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ù)前,都沒(méi)寫注解,則會(huì)報(bào)錯(cuò),因?yàn)闀?huì)默認(rèn)加上兩個(gè)RequestBody。

看完上述內(nèi)容,是不是對(duì)SpringCloud如何請(qǐng)求Feign服務(wù)調(diào)用有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站標(biāo)題:SpringCloud如何請(qǐng)求Feign服務(wù)調(diào)用
標(biāo)題網(wǎng)址:http://weahome.cn/article/gpojjp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部