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

溫馨提示×

溫馨提示×

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

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

使用Feign消費服務時POST/GET請求方式的作用是什么

發布時間:2021-06-25 09:06:02 來源:億速云 閱讀:294 作者:chen 欄目:開發技術

這篇文章主要介紹“使用Feign消費服務時POST/GET請求方式的作用是什么”,在日常操作中,相信很多人在使用Feign消費服務時POST/GET請求方式的作用是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”使用Feign消費服務時POST/GET請求方式的作用是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

聲明:本結論基于Spring Cloud Dalston.RC1、Spring Boot1.5.2.RELEASE。

總體說明

feign消費服務時,以GET方式請求的條件:

如果想讓服務消費者采用GET方式調用服務提供者,那么需要:

  1. 服務消費者這邊feign調用時,在所有參數前加上@RequestParam注解

  2. 服務消費者這邊feign調用時,指明為GET方式(注:如果不指明method,那么在條件1滿足的情況下,采用的是默認的GET方式)。

注:這里條件1和條件2,是“且”的關系(都滿足時,才為GET)

feign消費服務時,以POST方式請求的條件:

如果想讓服務消費者采用POST方式調用服務提供者,那么只需要:

  1. 服務消費者這邊feign調用時,在所有參數前加上@RequestParam注解,并指明feign消費服務的方式為POST

  2. 服務消費者這邊feign調用時,有且只有一個參數前為@RequestBody或什么也沒有(如果有多個參數,那么其余參數前必須有@RequestParam)。

注:這里條件1和條件2,是“或”的關系(當至少一個滿足時,即為POST)

注:在服務消費者中,使用feign消費服務時,如果參數前什么也不寫,那么默認是由@RequestBody指明的

即:只要不滿足GET方式請求,那么POST方式請求是一定支持的

下面進行詳細說明

無參:

服務消費者以GET方式請求消費服務的情況(示例):

使用Feign消費服務時POST/GET請求方式的作用是什么

不指定method,則默認為get,等同于

使用Feign消費服務時POST/GET請求方式的作用是什么

服務消費者以POST方式請求消費服務的情況(示例):

使用Feign消費服務時POST/GET請求方式的作用是什么

單參:

服務消費者以GET方式請求消費服務的情況(示例):

參數前使用了@RequestParam,且指明了用GET方式

使用Feign消費服務時POST/GET請求方式的作用是什么

等同于(當所有參數前都有@RequestParam時,這時不指明method,則默認為采用GET方式):

使用Feign消費服務時POST/GET請求方式的作用是什么

服務消費者以POST方式請求消費服務的情況(示例):

  • 參數前使用了@RequestParam,且指明了用POST方式

使用Feign消費服務時POST/GET請求方式的作用是什么

  • 參數前未使用@RequestParam或參數前使用了@RequestBody注解(此時不論是否手動指定請求方式、不論指定的方式是POST還是GET,那么最終都以POST方式消費服務)

使用Feign消費服務時POST/GET請求方式的作用是什么

使用Feign消費服務時POST/GET請求方式的作用是什么

使用Feign消費服務時POST/GET請求方式的作用是什么

使用Feign消費服務時POST/GET請求方式的作用是什么

注:在服務消費者中,使用feign消費服務時,如果參數前什么也不寫,那么默認是由@RequestBody指明的

注:@RequestBody注解的參數,需要POST方式才能傳遞數據。

注:在服務提供者的Controller中,

  • 如果要接收(服務消費中傳過來的)被@RequestBody指明的參數,那么對應方法的對應參數前一定要有@RequestBody;(如果沒有的話,收到的參數值就為null;如果寫成@RequestParam的話,那么feign調用會失敗)

  • 如果要接收(服務消費中傳過來的)被@RequestParam指明的參數,那么可以寫@RequestParam,也可以不寫(當服務提供者中對應的參數名字與服務消費者傳過來的參數名字一致時,可以不寫,不一致時,需要寫)

多參:

服務消費者以GET方式請求消費服務的情況(示例):

如果想讓服務消費者采用GET方式調用服務提供者,那么需要:

  1. 服務消費者這邊feign調用時,在所有參數前加上@RequestParam注解

  2. 服務消費者這邊feign調用時,指明為GET方式(注:如果不指明method,那么在條件1滿足的情況下,默認采用的也是GET方式)。

使用Feign消費服務時POST/GET請求方式的作用是什么

等同于

使用Feign消費服務時POST/GET請求方式的作用是什么

服務消費者以POST方式請求消費服務的情況(示例):

多參數時,如果服務消費者想采用POST進行feign調用,那么:服務消費者中該接口方法里的這些參數前,最多只能有一個參數是@RequestBody指明的,其余的參數必須使用@RequestParam指明。

如:

使用Feign消費服務時POST/GET請求方式的作用是什么

等同于(String name 這個參數前什么也不寫,那么默認的即為@RequestBody)

使用Feign消費服務時POST/GET請求方式的作用是什么

如果服務消費者這邊feign調用時,所有參數前面都使用了@RequestParam注解時,但是指明的是POST方式,那么最終還是以POST方式進行的:

使用Feign消費服務時POST/GET請求方式的作用是什么

服務提供者接收時:

  • 如果服務消費者傳過來參數時,全都用的是@RequestParam的話,那么服務提供者的Controller中對應參數前可以寫@RequestParam,也可以不寫(當兩邊參數名字一致時,可以省略不寫)

  • 如果服務消費者傳過來參數時,有@RequestBody的話,那么服務提供者的Controller中對應參數前必須要寫@RequestBody(如果是多參數的話,其余參數前視情況可以寫@RequestParam,也可以不寫)

注意:如果接口與接口的實現分別處于兩個服務中,那么接口就相當于服務消費者,而接口的實現則相當于服務提供者。兩者之間仍然滿足本文上所述要求。如:

服務消費者中的接口是這樣的:

使用Feign消費服務時POST/GET請求方式的作用是什么

那么對應的服務提供者中的Controller應該是這樣的:

使用Feign消費服務時POST/GET請求方式的作用是什么

到此,關于“使用Feign消費服務時POST/GET請求方式的作用是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

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

AI

伊通| 壶关县| 涿鹿县| 昭觉县| 吐鲁番市| 齐河县| 广元市| 塔河县| 大悟县| 宜昌市| 淮北市| 关岭| 马尔康县| 斗六市| 定襄县| 台北市| 金阳县| 石家庄市| 平利县| 柘荣县| 陕西省| 丹阳市| 南木林县| 浙江省| 仁化县| 西贡区| 泊头市| 大田县| 瑞金市| 兴业县| 和平县| 双峰县| 潮州市| 丰城市| 舟山市| 南溪县| 宁远县| 凤凰县| 九寨沟县| 茂名市| 时尚|