第十二篇:Spring Boot之使用Spring RestTemplate访问Rest服务

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Mr_Chenjie_C/article/details/84993888

RestTemplate是Spring3.0后开始提供的用于访问 Rest 服务的轻量级客户端,相较于传统的HttpURLConnection、Apache HttpClient、OkHttp等框架,RestTemplate大大简化了发起HTTP请求以及处理响应的过程。这篇文章主要介绍怎么用RestTemplate消费一个 Restful的web服务。

RestTemplate支持多种的请求方式,具体参考下表:

HTTP method RestTemplate methods
GET getForObject、getForEntity
POST postForObject、postForEntity、postForLocation
PUT put
DELETE delete
HEAD headForHeaders
OPTIONS optionsForAllow
PATCH patchForObject
any exchange、execute

更多详情,请查看api

构架工程

创建一个springboot工程,去消费RESTFUL的服务。这个服务是 http://gturnquist-quoters.cfapps.io/api/random ,它会随机返回Json字符串。在Spring项目中,它提供了一个非常简便的类,叫RestTemplate,它可以很简便的消费服务。

消费服务

通过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());
	};
}

运行程序,控制台打印:

在这里插入图片描述

源码下载:https://github.com/chenjary/SpringBoot

展开阅读全文

没有更多推荐了,返回首页