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

SpringCloud組件OpenFeign之默認(rèn)HTTP請(qǐng)求方式詳解

 更新時(shí)間:2024年01月02日 09:20:12   作者:luffylv  
這篇文章主要介紹了SpringCloud組件OpenFeign之默認(rèn)HTTP請(qǐng)求方式詳解,在SpringMvcContract類中有個(gè)這樣的方法processAnnotationOnMethod,見名思意,這個(gè)方法就是處理Feign接口下方法上的注解的,需要的朋友可以參考下

OpenFeign的默認(rèn)HTTP請(qǐng)求方式

OpenFeign相較于Feign新增了對(duì)SpringMvc的支持,通過以下方式可以調(diào)用服務(wù)端對(duì)應(yīng)的方法。

 但是如果使用@RequestMapping注解不指定請(qǐng)求方式時(shí),通過客戶端打印的OpenFein日志可以看出,客戶端都是使用的GET請(qǐng)求。

只有使用@PostMapping或者@RequestMapping中指定請(qǐng)求類型@RequestMapping(method = RequestMethod.POST)發(fā)送的才是POST請(qǐng)求。

那么使用@RequestMapping()時(shí)OpenFiegn默認(rèn)是使用GET請(qǐng)求?

OK,問題的答案還需要從OpenFeign的源碼中查找。

在SpringMvcContract類中有個(gè)這樣的方法processAnnotationOnMethod。

見名思意,這個(gè)方法就是處理Feign接口下方法上的注解的。

 與本問題相關(guān)的關(guān)鍵代碼為上圖中第218~225行,粘貼以下并添加注解。

// 獲取指定方法上的RequestMapping注解信息
RequestMapping methodMapping = findMergedAnnotation(method, RequestMapping.class);
// 指定方法上的RequestMapping注解信息method屬性的屬性值數(shù)組
RequestMethod[] methods = methodMapping.method();
// 如果沒有設(shè)置請(qǐng)求方式,那么默認(rèn)創(chuàng)建GET請(qǐng)求
if (methods.length == 0) {
	methods = new RequestMethod[] { RequestMethod.GET };
}
// 校驗(yàn)是否只有一種請(qǐng)求方式
checkOne(method, methods, "method");
// 若是則將RequestMethod.GET作為該方法的請(qǐng)求方式,并存放到RequestTemplate中template的method中供后續(xù)處理并使用
data.template().method(Request.HttpMethod.valueOf(methods[0].name()));

 所以,如果@FeignClient注解修飾的接口中使用@RequestMapping且不指定請(qǐng)求方式,那么默認(rèn)是使用GET請(qǐng)求的。

到此這篇關(guān)于SpringCloud組件OpenFeign之默認(rèn)HTTP請(qǐng)求方式詳解的文章就介紹到這了,更多相關(guān)OpenFeign的默認(rèn)HTTP請(qǐng)求方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring如何實(shí)現(xiàn)管理事務(wù)

    Spring如何實(shí)現(xiàn)管理事務(wù)

    Spring通過編程式事務(wù)和聲明式事務(wù)管理來控制事務(wù)的邊界和行為,聲明式事務(wù)管理通過@Transactional注解實(shí)現(xiàn),提供了豐富的配置選項(xiàng)來控制事務(wù)的行為,如傳播行為、隔離級(jí)別、超時(shí)時(shí)間和回滾規(guī)則
    2024-11-11
  • springboot多模塊多環(huán)境配置文件問題(動(dòng)態(tài)配置生產(chǎn)和開發(fā)環(huán)境)

    springboot多模塊多環(huán)境配置文件問題(動(dòng)態(tài)配置生產(chǎn)和開發(fā)環(huán)境)

    這篇文章主要介紹了springboot多模塊多環(huán)境配置文件問題(動(dòng)態(tài)配置生產(chǎn)和開發(fā)環(huán)境),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • java中的stream流中的并行查詢java

    java中的stream流中的并行查詢java

    Stream流是Java 8引入的一種新的數(shù)據(jù)處理方式,它提供了一種高效、簡潔的數(shù)據(jù)處理方式,Stream流可以讓我們以聲明式的方式處理數(shù)據(jù),提高了代碼的可讀性和可維護(hù)性,同時(shí),Stream流支持并行處理,可以充分利用多核CPU的性能,提高程序的運(yùn)行效率
    2024-07-07
  • Java設(shè)計(jì)模式之享元模式

    Java設(shè)計(jì)模式之享元模式

    這篇文章主要為大家詳細(xì)介紹了Java設(shè)計(jì)模式之享元模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • SpringBoot整合RabbitMQ 手動(dòng)應(yīng)答(簡單demo)

    SpringBoot整合RabbitMQ 手動(dòng)應(yīng)答(簡單demo)

    這篇文章主要介紹了SpringBoot整合RabbitMQ 手動(dòng)應(yīng)答 簡單demo,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • springBoot前后端分離項(xiàng)目中shiro的302跳轉(zhuǎn)問題

    springBoot前后端分離項(xiàng)目中shiro的302跳轉(zhuǎn)問題

    這篇文章主要介紹了springBoot前后端分離項(xiàng)目中shiro的302跳轉(zhuǎn)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java 手寫LRU緩存淘汰算法

    Java 手寫LRU緩存淘汰算法

    本文主要講了如何通過哈希鏈表這種數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)LRU算法,提供了三種實(shí)現(xiàn)思路,第一種從雙向鏈表開始,借助于HashMap來實(shí)現(xiàn)滿足要求的LRUCache
    2021-05-05
  • 走進(jìn)SpringBoot之配置文件與多環(huán)境詳解

    走進(jìn)SpringBoot之配置文件與多環(huán)境詳解

    這篇文章主要介紹了走進(jìn)SpringBoot之配置文件與多環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • java Thread 多線程

    java Thread 多線程

    本篇文章小編為大家介紹,java Thread 多線程。需要的朋友參考下
    2013-04-04
  • Java中Synchronized的用法解析

    Java中Synchronized的用法解析

    synchronized是Java中的關(guān)鍵字,是一種同步鎖,本文給大家詳細(xì)介紹Java Synchronized 用法大全,感興趣的朋友跟隨小編一起看看吧
    2021-11-11

最新評(píng)論