




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
JAVA項(xiàng)目中如何實(shí)現(xiàn)接口調(diào)用?Http是ApacheJakartaCommon下的子項(xiàng)目,用來提供高效的、的、功能豐富的支持Http協(xié)議的客戶端編程工具包,并且它支持HTTP協(xié)議版本和建議。Http相比傳統(tǒng)JDK自帶的URLConnection,提升了易用性和靈活性,使客戶端發(fā)送HTTP請(qǐng)求變得容易,提高了開發(fā)的效率。2)一個(gè)處理網(wǎng)絡(luò)請(qǐng)求的開源項(xiàng)目,是安卓端最火的輕量級(jí)框架,由SquareHttpUrlConnection和Apache 。OkHttp擁有簡(jiǎn)潔的API、高效的性能,并支持多種協(xié)(HTTP/2和SPDY)。3)HttpURLConnection是Java的標(biāo)準(zhǔn)類,它繼承自URLConnection,可用于向指定發(fā)送GET請(qǐng)求POST請(qǐng)求。HttpURLConnection使用比較復(fù)雜,不像 RestTemte是Spring提供的用于Rest服務(wù)的客戶端,RestTemte提供了多種便HTTP 更加便捷、優(yōu)雅地調(diào)用HTTPAPIFeign支持多種注解,例如Feign自帶的注解或者JAX-RS注解等。SpringCloudopenfeign對(duì)Feign進(jìn)行了增強(qiáng),使其支持SpringMVC注解,另外還整合了Ribbon和Eureka,從而使得Feign的使用更加方便Feign到使用HTP請(qǐng)求服務(wù)時(shí)就像調(diào)用本地方法一樣的體驗(yàn),開發(fā)者完全感知不到這是方法,更感知不到這是個(gè)TTP請(qǐng)求。它像Dubbo一樣consumer直接調(diào)用接口方法調(diào)用provider,需要通過常規(guī)的Http 構(gòu)造請(qǐng)求再解析返回?cái)?shù)據(jù)。它解決了讓開發(fā)者調(diào)用接口就跟調(diào)用本地方法一樣,無需關(guān)注與的交互細(xì)節(jié),更無需關(guān)注分布式環(huán)境開發(fā)。 1publicinterfaceOrderFeignService@RequestMappublicRfindOrderByUserId(@PathVariable("userId")Integer56OrderFeignServiceRresult=1.4)Feign//encoder指定對(duì)象編碼方式,decoder指定對(duì) .target(RemoteService.class,SpringCloudAlibaba快速整合 1@Feign 2publicinterfaceOrderFeignService3@RequestMappublicRfindOrderByUserId(@PathVariable("userId")Integer6 提示:FeignSpringCloudFeign 遇到Bug,比如接口調(diào)用失敗、參數(shù)沒收到等問題,或者想看看調(diào)用性能,就需要配置Feign的日志了,以此讓Feign把請(qǐng)求信息輸出來。////注意:此處配置@Configuration通過源碼可以看到日志等級(jí)有42)局部配置,讓調(diào)用的微服務(wù)生效,在3)在2)局部配置,讓調(diào)用的微服務(wù)生效,在3)在yml配置文件中執(zhí)行com.tuling.mall.feigndemo.feign:SpringCloudFeignFeignSpringMVCFeign是不支持SpringMVC注解的,如果你想在SpringCloud SpringMvcContract。1)**修改契約配置,支持Feign注意:修改契約配置后,OrderFeignService不再支持springmvc的注解,需要使用FeignOrderFeignService中配置使用Feign1@Feign publicinterfaceOrderFeignService@RequestLine("GETpublicRfindOrderByUserId(@Param("userId")Integer5contract:feigncontract:feign.Contract.Default#指定Feign常 去傳遞認(rèn)證信息,比如Basc認(rèn)證方式。Feign 可以直接配置Basic認(rèn)每次每次feign發(fā)起http調(diào)用之前,會(huì)去執(zhí) 統(tǒng)一添加header requestInterceptorsrequestInterceptors[0]:#配 mall-order端可以通過@RequestHeader通過Options可以配置連接超時(shí)時(shí)間和超時(shí)時(shí)間,Options的第一個(gè)參數(shù)是連接的超時(shí)時(shí)間(ms),默認(rèn)值是2s;第二個(gè)是請(qǐng)求處理的超時(shí)時(shí)間(ms),默認(rèn)值是5s。補(bǔ)充說明:Feign的底層用的是Ribbon,但超時(shí)時(shí)間以Feign配置為準(zhǔn)Feign中默認(rèn)使用JDK原生的URLConnection發(fā)送HTTP請(qǐng)求, 配置Apache然后修改yml然后修改yml配置,將Feign的Apache關(guān)于配置可參考源碼:1<groupId>io.然后修改yml配置,將Feign然后修改yml配置,將Feign的禁用,啟用OkHttp關(guān)于配置可參考源碼: GZIP開啟壓縮可以有效節(jié)約網(wǎng)絡(luò)資源,提升接口性能 可以配置GZIP來壓縮數(shù)據(jù)注意:只有當(dāng)Feign的 不是okhttp3的時(shí)候,壓縮才會(huì)生效,配置源碼代碼就是@ConditionalOnMissingBean(type="okhttp3.OkHttp "),表示SpringBeanFactory中不包含指定的bean時(shí)條件匹配,也就是沒有啟用okhttp3時(shí)才會(huì)進(jìn)行壓縮配置。Feign中提供了自定義的編碼器設(shè)置,同時(shí)也提供了多種編的實(shí)現(xiàn),比如Gson、Jaxb、Jackson。可以用不同的編碼器來處理數(shù)據(jù)的傳
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川郵電職業(yè)技術(shù)學(xué)院《無線傳感器網(wǎng)絡(luò)綜合實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海閔行職業(yè)技術(shù)學(xué)院《Python》2023-2024學(xué)年第二學(xué)期期末試卷
- 混凝土原材料采購合同范本
- 上海行健職業(yè)學(xué)院《測(cè)試信號(hào)與系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北恩施學(xué)院《汽車電子電氣A》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江藝術(shù)職業(yè)學(xué)院《環(huán)境工程施工技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025-2030年中國(guó)船用密封裝置項(xiàng)目投資可行性研究分析報(bào)告
- 華僑大學(xué)《高中化學(xué)模塊研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 畢節(jié)醫(yī)學(xué)高等專科學(xué)?!蹲o(hù)理禮儀(實(shí)驗(yàn))》2023-2024學(xué)年第二學(xué)期期末試卷
- 鹽城師范學(xué)院《生物統(tǒng)計(jì)學(xué)實(shí)習(xí)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2020年中國(guó)人身保險(xiǎn)產(chǎn)品研究報(bào)告
- 安全生產(chǎn)目標(biāo)責(zé)任制考核表
- 常見織帶花鏈的排法和穿棕方法
- 《化工工程制圖》完整教案
- 2023年廣東省中考試卷(語數(shù)英物化史生等共11套)帶答案解析
- DFX工藝設(shè)計(jì)方法介紹
- 洪恩識(shí)字識(shí)字卡(001-100)可直接打印剪裁
- 違反八項(xiàng)規(guī)定問題典型案例、法規(guī)依據(jù)和關(guān)注點(diǎn)
- J-STD-033D處理包裝運(yùn)輸和使用濕度回流和過程敏感設(shè)備
- 文聯(lián)述職報(bào)告
- SCI期刊的名稱縮寫與全稱對(duì)照表
評(píng)論
0/150
提交評(píng)論