亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringCloud如何請求Feign服務調用

發布時間:2020-08-03 10:22:16 來源:億速云 閱讀:190 作者:小豬 欄目:編程語言

這篇文章主要講解了SpringCloud如何請求Feign服務調用,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

前言

最近做微服務架構的項目,在用feign來進行服務間的調用。在互調的過程中,難免出現問題,根據錯誤總結了一下,主要是請求方式的錯誤和接參數的錯誤造成的。在此進行一下總結記錄。以下通過分為三種情況說明,無參數,單參數,多參數。每種情況再分get和post兩種請求方式進行說明。這樣的話,6種情況涵蓋了feign調用的所有情況。

有個建議就是為了保證不必要的麻煩,在寫feign接口的時候,與我們的映射方法保持絕對一致,同時請求方式,請求參數注解也都不偷懶的寫上。如果遵循這種規范,可以避開90%的調用錯誤。

無參情況

無參情況就是說我們的方法內不接收參數。

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();

單個參數的情況

方法內只有一個參數

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);

此時默認會在參數前加上RequestBody注解。然后就會變成Post請求。

多參

get請求

多個參數也是使用@RequestParam注解。

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

使用了RequestParam注解,默認method就是get。

post請求

多個參數只能有一個是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);

如果要是參數前,都沒寫注解,則會報錯,因為會默認加上兩個RequestBody。

看完上述內容,是不是對SpringCloud如何請求Feign服務調用有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

和顺县| 台东市| 钟山县| 渝中区| 南靖县| 泸溪县| 武邑县| 波密县| 山东| 蕉岭县| 湘西| 鹤庆县| 吐鲁番市| 体育| 阳城县| 交城县| 保德县| 滦南县| 普洱| 千阳县| 桂阳县| 周宁县| 长泰县| 黎川县| 林口县| 廊坊市| 射洪县| 浦东新区| 都匀市| 长葛市| 肥东县| 图木舒克市| 兴安县| 鄂托克前旗| 临夏市| 鹤峰县| 于田县| 高雄市| 邢台县| 铜陵市| 肇州县|