Spring之RestTemplate介绍

原创 2017年12月06日 17:16:20

RestTemplate设计是为了Spring更好的请求并解析Restful风格的接口返回值而设计的,通过这个类可以在请求接口时直接解析对应的类。
在前一篇文章《搭建简单的Restful风格的web服务》的基础上,我们写一个client调用一下http://localhost:8080/hello这个接口,返回为我们自定义的ResultBean。
先重写一下ResultBean的toString方法,方便我们打印返回值。

    @Override
    public String toString(){
        StringBuilder builder = new StringBuilder();
        builder.append("code: ");

        if( code == SUCCESS){
            builder.append("SUCCESS, ");
            if(null != data) {
                builder.append("data: ");
                builder.append(data.toString());
            }
        }else {
            builder.append("FAIL, ");
            builder.append(errorMsg);
        }
        return builder.toString();
    }

写一个Client:

public class Client {
    public static void main(String[] args) {
        RestTemplate restTemplate = new RestTemplate();
        ResultBean bean =  restTemplate.getForObject("http://localhost:8080/hello?name=CYF", ResultBean.class);
        System.out.println(bean.toString());
    }
}

启动我们的服务,然后执行我们的这个Client的main方法,控制台可以看到打印结果。

16:51:23.169 [main] DEBUG o.s.web.client.RestTemplate - Created GET request for "http://localhost:8080/hello?name=CYF"
16:51:23.273 [main] DEBUG o.s.web.client.RestTemplate - Setting request Accept header to [application/json, application/*+json]
16:51:23.311 [main] DEBUG o.s.web.client.RestTemplate - GET request for "http://localhost:8080/hello?name=CYF" resulted in 200 (OK)
16:51:23.312 [main] DEBUG o.s.web.client.RestTemplate - Reading [class hello.ResultBean] as "application/json;charset=UTF-8" using [org.springframework.http.converter.json.MappingJackson2HttpMessageConverter@65987993]
code: SUCCESS, data: hello CYF

更多RestTemplate的使用可以见其API

不过有两个开源项目okhttpfastjson一起使用也能做到这个效果,这两个包在github上的分数都很高,建议使用。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Spring RestTemplate

  • 2010年11月28日 09:50
  • 1007KB
  • 下载

Spring提供RestTemplate用于访问Rest服务的客户端实践

什么是RestTemplate? RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编...

解决spring3.0.5使用RestTemplate发送post请求响应中文乱码问题

说明:      1:使用spring3.0.5 post响应编码类型,更加请求url响应内容的编码决定,请求的url没有设置响应编码,默认为ISO-8859-1   2:  使用...

spring boot / cloud (八) 使用RestTemplate来构建远程调用服务

spring boot / cloud (八) 使用RestTemplate来构建远程调用服务前言上周因家里突发急事,请假一周,故博客没有正常更新RestTemplate介绍: RestTempl...

Spring模拟HTTP请求——RestTemplate类使用的理解

Spring模拟HTTP请求——RestTemplate类使用的理解 上一阶段wab项目由于需要跨系统访问,从同事之前写的代码中发现了RestTemplate类,才知道Spring已经对wab请求已经...
  • madmk
  • madmk
  • 2017年07月31日 13:46
  • 958

Spring org.springframework.web.client.RestTemplate乱码

@spring version 4.2.3 RestTemplate 实例化时需要HTTPMessageConverters RestTemplate(List
  • sunhuwh
  • sunhuwh
  • 2015年12月12日 17:04
  • 1736

微信支付相关-Spring RestTemplate和javax SSLContext

微信支付退款接口引出的Spring RestTemplate使用,SSLContext和网络安全相关基础学习...
  • silvita
  • silvita
  • 2017年04月26日 15:29
  • 407

Spring RestTemplate关联HttpClient4.5的配置HttpClient和自身的BUG

如题 ,本博客将解决RestTemplate 的配置问题 ,同时告知其存在的BUG写作背景:我们知道HttpClient要想使用PATCH, PUT等请求 配置将相当麻烦, 当结合RestTempla...
  • J3oker
  • J3oker
  • 2017年06月07日 16:21
  • 1289

spring中RestTemplate的使用

一.导入依赖 ​ org.springframework spring-web ${spring.v...

Spring Post Using RestTemplate

Spring Post RestTemplate Header
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring之RestTemplate介绍
举报原因:
原因补充:

(最多只允许输入30个字)