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