SpringBoot学习第十六篇:用restTemplate请求服务

原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot11-restTemplate/
本文出自方志朋的博客

在微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端。我们可以使用JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client, Spring的RestTemplate

这篇文章主要介绍怎么用请求一个 Restful的web服务。我将用restTemplate去请求一个服务: http://gturnquist-quoters.cfapps.io/api/random.

构架工程
创建一个springboot工程,去请求RESTFUL的服务。这个服务是 http:///gturnquist-quoters.cfapps.io/api/random ,这个url会随机返回Json字符串。


在Spring项目中,提供了一个非常简便的类,叫RestTemplate,它可以很简便的请求url服务。

先来看看 RestTemplate常用的几个方法:

SpringBoot学习第十六篇:用restTemplate请求服务_第1张图片

通过RestTemplate请求服务,需要先context中注册一个RestTemplate bean。代码如下:

    @Bean
    public RestTemplate restTemplate(RestTemplateBuilder builder) {
        return builder.build();
    }

    @Bean
    public CommandLineRunner run(RestTemplate restTemplate) throws Exception {
        return args -> {
            String quote = restTemplate.getForObject(
                    "http://gturnquist-quoters.cfapps.io/api/random", String.class);
            log.info(quote.toString());
        };
    }


运行程序,控制台打印:

{
“type”: “success”,
“value”: {
“id”: 6,
“quote”: “It embraces convention over configuration, providing an experience on par with frameworks that excel at early stage development, such as Ruby on Rails.”
}
}

 

你可能感兴趣的:(Spring)