成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Spring Boot 參考指南(使用RestTemplate調(diào)用REST服務(wù))

CatalpaFlat / 1804人閱讀

摘要:使用調(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í)例通常需要在使用之前進(jìn)行定制,因此Spring Boot不提供任何自動(dòng)配置的RestTemplate bean。但是,它可以自動(dòng)配置一個(gè)RestTemplateBuilder,當(dāng)需要時(shí),它可以用來創(chuàng)建RestTemplate實(shí)例。自動(dòng)配置的RestTemplateBuilder確保將合理的HttpMessageConverters應(yīng)用于RestTemplate實(shí)例。

下面的代碼展示了一個(gè)典型的樣例:

@Service
public class MyService {

    private final RestTemplate restTemplate;

    public MyService(RestTemplateBuilder restTemplateBuilder) {
        this.restTemplate = restTemplateBuilder.build();
    }

    public Details someRestCall(String name) {
        return this.restTemplate.getForObject("/{name}/details", Details.class, name);
    }

}
RestTemplateBuilder包含許多有用的方法,可用于快速配置RestTemplate,例如,要添加BASIC auth支持,可以使用builder.basicAuthorization("user", "password").build()。
33.1 RestTemplate定制

RestTemplate定制有三種主要方法,取決于你希望定制應(yīng)用到的范圍有多廣。

要使任何定制的范圍盡可能狹窄,請注入自動(dòng)配置的RestTemplateBuilder,然后根據(jù)需要調(diào)用其方法,每個(gè)方法調(diào)用都返回一個(gè)新的RestTemplateBuilder實(shí)例,因此自定義只影響構(gòu)建器的這種使用。

要進(jìn)行應(yīng)用程序范圍內(nèi)的附加定制,請使用RestTemplateCustomizer bean,所有這些bean都會(huì)自動(dòng)注冊到自動(dòng)配置的RestTemplateBuilder中,并應(yīng)用于使用它構(gòu)建的任何模板。

下面的示例顯示了一個(gè)定制器,它配置除192.168.0.5之外的所有主機(jī)的代理的使用:

static class ProxyCustomizer implements RestTemplateCustomizer {

    @Override
    public void customize(RestTemplate restTemplate) {
        HttpHost proxy = new HttpHost("proxy.example.com");
        HttpClient httpClient = HttpClientBuilder.create()
                .setRoutePlanner(new DefaultProxyRoutePlanner(proxy) {

                    @Override
                    public HttpHost determineProxy(HttpHost target,
                            HttpRequest request, HttpContext context)
                            throws HttpException {
                        if (target.getHostName().equals("192.168.0.5")) {
                            return null;
                        }
                        return super.determineProxy(target, request, context);
                    }

                }).build();
        restTemplate.setRequestFactory(
                new HttpComponentsClientHttpRequestFactory(httpClient));
    }

}

最后,最極端(也很少使用)的選項(xiàng)是創(chuàng)建自己的RestTemplateBuilder bean,這樣可以關(guān)閉RestTemplateBuilder的自動(dòng)配置,并防止使用任何RestTemplateCustomizer bean。

上一篇:消息傳遞 下一篇:使用WebClient調(diào)用REST服務(wù)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/77370.html

相關(guān)文章

  • Spring Boot 參考指南使用WebClient調(diào)用REST服務(wù)

    摘要:為所有實(shí)例進(jìn)行應(yīng)用程序級(jí)的附加定制,你可以聲明并在注入點(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è)客戶端具有...

    null1145 評(píng)論0 收藏0
  • Spring Boot 參考指南(目錄)

    摘要:參考指南使你可以輕松地創(chuàng)建可運(yùn)行的獨(dú)立的生產(chǎn)級(jí)的基于的應(yīng)用程序,我們對平臺(tái)和第三方庫有自己的看法,這樣你就可以以最低限度工作開始了,大多數(shù)應(yīng)用程序都需要很少的配置。文檔本節(jié)簡要概述了參考文檔,它充當(dāng)文檔其余部分的映射。 Spring Boot 參考指南 Spring Boot使你可以輕松地創(chuàng)建可運(yùn)行的獨(dú)立的、生產(chǎn)級(jí)的基于Spring的應(yīng)用程序,我們對Spring平臺(tái)和第三方庫有自己的看...

    awesome23 評(píng)論0 收藏0
  • 史上最簡單的SpringCloud教程 | 第二篇: 服務(wù)消費(fèi)者(rest+ribbon)

    摘要:在服務(wù)架構(gòu)中,業(yè)務(wù)都會(huì)被拆分成一個(gè)獨(dú)立的服務(wù),服務(wù)與服務(wù)的通訊是基于的。配置文件如下在工程的啟動(dòng)類中通過向服務(wù)中心注冊并且注冊了一個(gè)通過注冊表明,這個(gè)是負(fù)載均衡的。 轉(zhuǎn)載請標(biāo)明出處: http://blog.csdn.net/forezp/a...本文出自方志朋的博客 在上一篇文章,講了服務(wù)的注冊和發(fā)現(xiàn)。在服務(wù)架構(gòu)中,業(yè)務(wù)都會(huì)被拆分成一個(gè)獨(dú)立的服務(wù),服務(wù)與服務(wù)的通訊是基于http re...

    dreamans 評(píng)論0 收藏0
  • Spring 指南(目錄)

    摘要:指南無論你正在構(gòu)建什么,這些指南都旨在讓你盡快提高工作效率使用團(tuán)隊(duì)推薦的最新項(xiàng)目版本和技術(shù)。使用進(jìn)行消息傳遞了解如何將用作消息代理。安全架構(gòu)的主題指南,這些位如何組合以及它們?nèi)绾闻c交互。使用的主題指南以及如何為應(yīng)用程序創(chuàng)建容器鏡像。 Spring 指南 無論你正在構(gòu)建什么,這些指南都旨在讓你盡快提高工作效率 — 使用Spring團(tuán)隊(duì)推薦的最新Spring項(xiàng)目版本和技術(shù)。 入門指南 這些...

    only_do 評(píng)論0 收藏0
  • 服務(wù)調(diào)用鏈追蹤中心搭建

    摘要:一個(gè)客戶端請求從發(fā)出到被響應(yīng)經(jīng)歷了哪些組件哪些微服務(wù)請求總時(shí)長每個(gè)組件所花時(shí)長等信息我們有必要了解和收集,以幫助我們定位性能瓶頸進(jìn)行性能調(diào)優(yōu),因此監(jiān)控整個(gè)微服務(wù)架構(gòu)的調(diào)用鏈?zhǔn)钟斜匾?,本文將闡述如何使用搭建微服務(wù)調(diào)用鏈追蹤中心。 showImg(https://segmentfault.com/img/remote/1460000014553707); 概述 一個(gè)完整的微服務(wù)系統(tǒng)包含...

    Pines_Cheng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<