博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RestTemplate
阅读量:6680 次
发布时间:2019-06-25

本文共 1511 字,大约阅读时间需要 5 分钟。

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

调用RestTemplate的默认构造函数,RestTemplate对象在底层通过使用java.net包下的实现创建HTTP 请求,可以通过使用ClientHttpRequestFactory指定不同的HTTP请求方式。
ClientHttpRequestFactory接口主要提供了两种实现方式

  • 一种是SimpleClientHttpRequestFactory,使用J2SE提供的方式(既java.net包提供的方式)创建底层的Http请求连接。
  • 一种方式是使用HttpComponentsClientHttpRequestFactory方式,底层使用HttpClient访问远程的Http服务,使用HttpClient可以配置连接池和证书等信息。

     

private RestTemplate createRestTemplate(){HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory()requestFactory.setConnectTimeout(connectTimeout);requestFactory.setReadTimeout(readTimeout);RestTemplate restTemplate = new RestTemplate(requestFactory);restTempate.getMessageConverters().add(0,new MyStringHttpMessageConverter());return restTemplatet}

RestTemplate的getForObject完成get请求、postForObject完成post请求、put对应的完成put请求、delete完成delete请求;还有execute可以执行任何请求的方法,需要你设置RequestMethod来指定当前请求类型。

RestTemplate.getForObject(String url, Class responseType, String... urlVariables)

String content = getXMLContent(carNo);  HttpHeaders headers = new HttpHeaders();  MediaType type = new MediaType("text","xml",Charset.forName(CHARSET_GBK));  headers.setContentType(true);  HttpEntity
entity = new HttpEntity
(content,headers); long ss = System.nanoTime(); String result = restTemplate.postForObject(url,entity,String.class);

添加applicationContext-beans.xml完成对restTemplate的配置。restTemplate需要配置MessageConvert将返回的xml文档进行转换,解析成JavaObject。

转载地址:http://nhnao.baihongyu.com/

你可能感兴趣的文章
[洛谷P3709]大爷的字符串题
查看>>
通过映射关系 动态转义为统一格式的数据 (支持 JSON 和 XML )
查看>>
Shell 文本处理三剑客之grep
查看>>
如何写出让人看了恶心的代码
查看>>
http状态码
查看>>
好记性不如烂笔杆-android学习笔记<十五> GridView简单用法
查看>>
最短路径
查看>>
表格相关技巧(双击启动事件、取得行号、定义表格的读写属性)
查看>>
ubuntu server vsftpd 虚拟用户及目录
查看>>
GCD多线程使用
查看>>
[转载] 格式化字符串漏洞原理介绍
查看>>
python小项目之微信远程控制
查看>>
Mysql本地安装多实例后启动遇到的问题
查看>>
用 RPM 打包软件,第 1 部分
查看>>
POJ题目(转)
查看>>
js使用闭包时,内部函数是直接访问外部函数的实际变量而非复制一份新变量...
查看>>
P3622 [APIO2007]动物园
查看>>
HBase原理和设计
查看>>
map通过value获取对应key
查看>>
day24 异常处理
查看>>