新聞中心
本篇內(nèi)容介紹了“Spring Boot2中怎么調(diào)用REST服務(wù)WebClient”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
惠來(lái)網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
調(diào)用REST服務(wù) WebClient
如果你的類路徑上有Spring WebFlux,你也可以選擇使用WebClient來(lái)調(diào)用遠(yuǎn)程REST服務(wù)。相比之下RestTemplate,這個(gè)客戶有更多的功能感,并且完全被動(dòng)。您可以使用構(gòu)建器創(chuàng)建您自己的客戶端實(shí)例, WebClient.create()。請(qǐng)參閱WebClient上的相關(guān)部分。
Spring Boot為您創(chuàng)建并預(yù)配置這樣的構(gòu)建器。例如,客戶端HTTP編解碼器的配置方式與服務(wù)器的相同(請(qǐng)參閱 WebFlux HTTP編解碼器自動(dòng)配置)。
以下代碼顯示了一個(gè)典型示例:
1@Service
2public class MyService {
3private final WebClient webClient;
4public MyBean(WebClient.Builder webClientBuilder) {
5this.webClient = webClientBuilder.baseUrl("http://example.org").build();
6}
7public Mono<Details> someRestCall(String name) {
8return this.webClient.get().url("/{name}/details", name)
9.retrieve().bodyToMono(Details.class);
10}
11}
WebClient自定義
WebClient定制有三種主要方法,具體取決于您希望應(yīng)用的范圍。
為了盡可能縮小任何自定義的范圍,請(qǐng)注入自動(dòng)配置 WebClient.Builder,然后根據(jù)需要調(diào)用其方法。WebClient.Builder實(shí)例是有狀態(tài)的:構(gòu)建器上的任何更改都會(huì)反映在隨后用它創(chuàng)建的所有客戶端中。如果您想使用相同的構(gòu)建器創(chuàng)建多個(gè)客戶端,則還可以考慮使用克隆構(gòu)建器WebClient.Builder other = builder.clone();。
要為所有WebClient.Builder實(shí)例進(jìn)行應(yīng)用程序范圍的附加定制,您可以聲明WebClientCustomizerbean并WebClient.Builder在注入點(diǎn)本地進(jìn)行更改。
最后,你可以回到原來(lái)的API并使用WebClient.create()。在這種情況下,沒有自動(dòng)配置或WebClientCustomizer應(yīng)用。
“Spring Boot2中怎么調(diào)用REST服務(wù)WebClient”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
文章題目:SpringBoot2中怎么調(diào)用REST服務(wù)WebClient
分享路徑:http://www.ef60e0e.cn/article/gehdco.html