最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud Feign服務(wù)調(diào)用請(qǐng)求方式總結(jié)

 更新時(shí)間:2020年04月17日 10:31:27   作者:經(jīng)典雞翅  
這篇文章主要介紹了SpringCloud Feign服務(wù)調(diào)用方式總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

前言

最近做微服務(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ī)范,可以避開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都沒用,不會(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ù)前,都沒寫注解,則會(huì)報(bào)錯(cuò),因?yàn)闀?huì)默認(rèn)加上兩個(gè)RequestBody。

總結(jié)

至此feign的請(qǐng)求方式就說(shuō)明白了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot 中使用 JSON Schema 校驗(yàn)復(fù)雜JSON數(shù)據(jù)的過(guò)程

    Spring Boot 中使用 JSON Schema 校驗(yàn)復(fù)雜JSO

    在數(shù)據(jù)交換領(lǐng)域,JSON Schema 以其強(qiáng)大的標(biāo)準(zhǔn)化能力,為定義和規(guī)范 JSON 數(shù)據(jù)的結(jié)構(gòu)與規(guī)則提供了有力支持,下面給大家介紹Spring Boot 中使用 JSON Schema 校驗(yàn)復(fù)雜JSON數(shù)據(jù)的過(guò)程,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • java編程實(shí)現(xiàn)郵件定時(shí)發(fā)送的方法

    java編程實(shí)現(xiàn)郵件定時(shí)發(fā)送的方法

    這篇文章主要介紹了java編程實(shí)現(xiàn)郵件定時(shí)發(fā)送的方法,涉及Java基于定時(shí)器實(shí)現(xiàn)計(jì)劃任務(wù)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • Mybatis-Plus中的@TableName 和 table-prefix使用

    Mybatis-Plus中的@TableName 和 table-prefix使用

    table-prefix 是一個(gè)全局配置,它會(huì)自動(dòng)在所有表名前添加指定的前綴,這個(gè)配置對(duì)于那些使用一致命名約定的數(shù)據(jù)庫(kù)表非常有用,這篇文章主要介紹了Mybatis-Plus中的@TableName 和 table-prefix使用,需要的朋友可以參考下
    2024-08-08
  • java中添加按鈕并添加響應(yīng)事件的方法(推薦)

    java中添加按鈕并添加響應(yīng)事件的方法(推薦)

    下面小編就為大家?guī)?lái)一篇java中添加按鈕并添加響應(yīng)事件的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • springboot 參數(shù)格式校驗(yàn)操作

    springboot 參數(shù)格式校驗(yàn)操作

    這篇文章主要介紹了springboot 參數(shù)格式校驗(yàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 解決Error:(5, 28) java: 程序包org.apache.ibatis.io不存在問(wèn)題

    解決Error:(5, 28) java: 程序包org.apache.ibatis.io

    這篇文章主要介紹了解決Error:(5, 28) java: 程序包org.apache.ibatis.io不存在問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 深入探討Java多線程中的volatile變量

    深入探討Java多線程中的volatile變量

    這篇文章主要為大家詳細(xì)并深入的探討Java多線程中的volatile變量,volatile用來(lái)確保將變量的更新操作通知到其他線程,保證了新值能立即同步到主內(nèi)存,以及每次使用前立即從主內(nèi)存刷新,感興趣的小伙伴們可以參考一下
    2016-02-02
  • spring中@autowired、@Qualifier、@Primary注解的使用說(shuō)明

    spring中@autowired、@Qualifier、@Primary注解的使用說(shuō)明

    這篇文章主要介紹了spring中@autowired、@Qualifier、@Primary注解的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 詳解SpringBoot中的統(tǒng)一異常處理

    詳解SpringBoot中的統(tǒng)一異常處理

    這篇文章主要介紹了詳解SpringBoot中的統(tǒng)一異常處理,在獨(dú)立的某個(gè)地方,比如單獨(dú)一個(gè)類,定義一套對(duì)各種異常的處理機(jī)制,需要的朋友可以參考下
    2023-05-05
  • spring boot發(fā)簡(jiǎn)單文本郵件案例

    spring boot發(fā)簡(jiǎn)單文本郵件案例

    這篇文章主要介紹了spring boot發(fā)簡(jiǎn)單文本郵件案例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10

最新評(píng)論

桓仁| 永泰县| 沾益县| 宜良县| 德惠市| 华宁县| 张家界市| 广宗县| 淮安市| 沛县| 衡南县| 镇平县| 南雄市| 库伦旗| 庆元县| 清水河县| 塘沽区| 青川县| 阳新县| 鄂托克旗| 民勤县| 灌云县| 平武县| 大名县| 全椒县| 东城区| 余干县| 雷山县| 化德县| 丰台区| 读书| 太仆寺旗| 台山市| 西林县| 定兴县| 上高县| 江阴市| 常州市| 满城县| 双桥区| 常宁市|