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

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)文章

最新評(píng)論

阜城县| 临西县| 巫溪县| 阿坝县| 晋中市| 临桂县| 枞阳县| 宣化县| 临朐县| 体育| 广水市| 拜城县| 治县。| 时尚| 双流县| 莎车县| 太湖县| 辉县市| 丹寨县| 邮箱| 黑龙江省| 陇西县| 新乡县| 分宜县| 崇义县| 杨浦区| 绥中县| 司法| 斗六市| 岢岚县| 巴彦淖尔市| 平原县| 金乡县| 石城县| 东辽县| 顺义区| 罗甸县| 惠东县| 浙江省| 扶余县| 博乐市|