欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

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

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

無參情況

無參情況就是說我們的方法內(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

先說說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)求方式就說明白了。

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

相關(guān)文章

  • 手工搭建Servlet實(shí)現(xiàn)

    手工搭建Servlet實(shí)現(xiàn)

    現(xiàn)在作為一個(gè)Java程序員,我們已經(jīng)習(xí)慣了使用IDE和Web框架進(jìn)行開發(fā),IDE幫助我們做了編譯、打包的工作。Spring框架則幫助我們實(shí)現(xiàn)了Servlet接口,并把Servlet容器注冊(cè)到了Web容器中。本文主要介紹了Servlet手工搭建,感興趣的可以了解一下
    2021-07-07
  • Java多線程中的Future類詳細(xì)解讀

    Java多線程中的Future類詳細(xì)解讀

    這篇文章主要介紹了Java多線程中的Future類詳細(xì)解讀,Future表示一個(gè)可能還沒有完成的異步任務(wù)的結(jié)果,針對(duì)這個(gè)結(jié)果可以添加Callback以便在任務(wù)執(zhí)行成功或失敗后作出相應(yīng)的操作,需要的朋友可以參考下
    2023-11-11
  • Java實(shí)現(xiàn)DFA算法對(duì)敏感詞、廣告詞過濾功能示例

    Java實(shí)現(xiàn)DFA算法對(duì)敏感詞、廣告詞過濾功能示例

    本篇文章主要介紹了Java實(shí)現(xiàn)DFA算法對(duì)敏感詞、廣告詞過濾功能示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • SpringCloud+MyBatis分頁處理(前后端分離)

    SpringCloud+MyBatis分頁處理(前后端分離)

    這篇文章主要為大家詳細(xì)介紹了SpringCloud+MyBatis分頁處理,前后端分離,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Flutter ListView 上拉加載更多下拉刷新功能實(shí)現(xiàn)方法

    Flutter ListView 上拉加載更多下拉刷新功能實(shí)現(xiàn)方法

    這篇文章主要介紹了Flutter ListView 上拉加載更多下拉刷新功能實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Java字節(jié)與字符流永久存儲(chǔ)json數(shù)據(jù)

    Java字節(jié)與字符流永久存儲(chǔ)json數(shù)據(jù)

    本篇文章給大家詳細(xì)講述了Java字節(jié)與字符流永久存儲(chǔ)json數(shù)據(jù)的方法,以及代碼分享,有興趣的參考學(xué)習(xí)下。
    2018-02-02
  • Mybatis如何使用@Mapper和@MapperScan注解實(shí)現(xiàn)映射關(guān)系

    Mybatis如何使用@Mapper和@MapperScan注解實(shí)現(xiàn)映射關(guān)系

    這篇文章主要介紹了Mybatis使用@Mapper和@MapperScan注解實(shí)現(xiàn)映射關(guān)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java中IO流文件讀取、寫入和復(fù)制的實(shí)例

    Java中IO流文件讀取、寫入和復(fù)制的實(shí)例

    下面小編就為大家?guī)硪黄狫ava中IO流文件讀取、寫入和復(fù)制的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java?IDEA集成開發(fā)工具中英文切換圖文教程

    Java?IDEA集成開發(fā)工具中英文切換圖文教程

    相信很多小伙伴們剛接觸IDEA時(shí),看到一堆英文界面不知道如何下手,這篇文章主要給大家介紹了關(guān)于Java?IDEA集成開發(fā)工具中英文切換的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • IDEA加載項(xiàng)目沒有src目錄的問題及解決

    IDEA加載項(xiàng)目沒有src目錄的問題及解決

    這篇文章主要介紹了IDEA加載項(xiàng)目沒有src目錄的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評(píng)論