摘要:為所有實(shí)例進(jìn)行應(yīng)用程序級的附加定制,你可以聲明并在注入點(diǎn)局部的更改。最后,你可以回到原來的并使用,在這種情況下,不應(yīng)用自動(dòng)配置或。上一篇使用調(diào)用服務(wù)下一篇驗(yàn)證發(fā)送電子郵件
34. 使用WebClient調(diào)用REST服務(wù)
如果你的classpath上有Spring WebFlux,那么你還可以選擇使用WebClient來調(diào)用遠(yuǎn)程REST服務(wù),與RestTemplate相比,這個(gè)客戶端具有更強(qiáng)的功能性,并且完全具有響應(yīng)性。你可以使用builder,WebClient.create()創(chuàng)建自己的客戶端實(shí)例,請參閱有關(guān)WebClient的部分。
Spring Boot為你創(chuàng)建并預(yù)先配置這樣的構(gòu)建器,例如,客戶端HTTP編解碼器的配置方式與服務(wù)器編解碼器的配置方式相同(請參閱WebFlux HTTP編解碼器自動(dòng)配置)。
下面的代碼展示了一個(gè)典型的例子:
@Service public class MyService { private final WebClient webClient; public MyService(WebClient.Builder webClientBuilder) { this.webClient = webClientBuilder.baseUrl("http://example.org").build(); } public Mono34.1 WebClient定制someRestCall(String name) { return this.webClient.get().url("/{name}/details", name) .retrieve().bodyToMono(Details.class); } }
WebClient定制有三種主要方法,這取決于你希望定制的應(yīng)用范圍有多廣。
要使任何定制的范圍盡可能狹窄,請注入自動(dòng)配置的WebClient.Builder,然后根據(jù)需要調(diào)用其方法,WebClient.Builder實(shí)例是有狀態(tài)的:構(gòu)建器上的任何更改都反映在隨后使用它創(chuàng)建的所有客戶端中,如果想用同一個(gè)構(gòu)建器創(chuàng)建多個(gè)客戶端,還可以考慮使用WebClient.Builder other = builder.clone();克隆構(gòu)建器。
為所有WebClient.Builder實(shí)例進(jìn)行應(yīng)用程序級的附加定制,你可以聲明WebClientCustomizer bean并在注入點(diǎn)局部的更改WebClient.Builder。
最后,你可以回到原來的API并使用WebClient.create(),在這種情況下,不應(yīng)用自動(dòng)配置或WebClientCustomizer。
上一篇:使用RestTemplate調(diào)用REST服務(wù) 下一篇:驗(yàn)證&發(fā)送電子郵件文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/77369.html
摘要:使用調(diào)用服務(wù)如果需要從應(yīng)用程序調(diào)用遠(yuǎn)程服務(wù),你可以使用框架的類,由于實(shí)例通常需要在使用之前進(jìn)行定制,因此不提供任何自動(dòng)配置的。自動(dòng)配置的確保將合理的應(yīng)用于實(shí)例。上一篇消息傳遞下一篇使用調(diào)用服務(wù) 33. 使用RestTemplate調(diào)用REST服務(wù) 如果需要從應(yīng)用程序調(diào)用遠(yuǎn)程REST服務(wù),你可以使用Spring框架的RestTemplate類,由于RestTemplate實(shí)例通常需要在使...
摘要:參考指南使你可以輕松地創(chuàng)建可運(yùn)行的獨(dú)立的生產(chǎn)級的基于的應(yīng)用程序,我們對平臺和第三方庫有自己的看法,這樣你就可以以最低限度工作開始了,大多數(shù)應(yīng)用程序都需要很少的配置。文檔本節(jié)簡要概述了參考文檔,它充當(dāng)文檔其余部分的映射。 Spring Boot 參考指南 Spring Boot使你可以輕松地創(chuàng)建可運(yùn)行的獨(dú)立的、生產(chǎn)級的基于Spring的應(yīng)用程序,我們對Spring平臺和第三方庫有自己的看...
摘要:例如,以下服務(wù)觸發(fā)第一個(gè)參數(shù)的驗(yàn)證,確保其大小在到之間發(fā)送電子郵件框架為使用接口發(fā)送電子郵件提供了一個(gè)簡單的抽象,為它提供了自動(dòng)配置以及啟動(dòng)模塊。有關(guān)如何使用的詳細(xì)說明,請參閱參考文檔。 35. 驗(yàn)證 只要類路徑上有JSR-303實(shí)現(xiàn)(比如Hibernate驗(yàn)證器),Bean validation 1.1支持的方法驗(yàn)證特性就會自動(dòng)啟用,這就讓bean方法在參數(shù)和/或返回值上使用java...
摘要:那么為什么可以帶給我們這樣的完美編碼體驗(yàn)?zāi)貙?shí)際上,這完全歸功于的封裝,由于在服務(wù)注冊與發(fā)現(xiàn)客戶端負(fù)載均衡等方面都做了很好的抽象,而上層應(yīng)用方面依賴的都是這些抽象接口,而非針對某個(gè)具體中間件的實(shí)現(xiàn)。 通過《Spring Cloud Alibaba基礎(chǔ)教程:使用Nacos實(shí)現(xiàn)服務(wù)注冊與發(fā)現(xiàn)》一文的學(xué)習(xí),我們已經(jīng)學(xué)會如何使用Nacos來實(shí)現(xiàn)服務(wù)的注冊與發(fā)現(xiàn),同時(shí)也介紹如何通過LoadBala...
摘要:下一代服務(wù)端開發(fā)下一代服務(wù)端開發(fā)第部門快速開始第章快速開始環(huán)境準(zhǔn)備,,快速上手實(shí)現(xiàn)一個(gè)第章企業(yè)級服務(wù)開發(fā)從到語言的缺點(diǎn)發(fā)展歷程的缺點(diǎn)為什么是產(chǎn)生的背景解決了哪些問題為什么是的發(fā)展歷程容器的配置地獄是什么從到下一代企業(yè)級服務(wù)開發(fā)在移動(dòng)開發(fā)領(lǐng)域 《 Kotlin + Spring Boot : 下一代 Java 服務(wù)端開發(fā) 》 Kotlin + Spring Boot : 下一代 Java...
閱讀 3518·2023-04-25 15:52
閱讀 588·2021-11-19 09:40
閱讀 2613·2021-09-26 09:47
閱讀 1034·2021-09-22 15:17
閱讀 3558·2021-08-13 13:25
閱讀 2233·2019-08-30 15:56
閱讀 3472·2019-08-30 13:56
閱讀 2112·2019-08-30 11:27