Spring RestTemplate 小结

关于RestTemplate

首先,你可以把它理解为一个发起请求并接收响应的工具类(功能类似浏览器)。

其次,它其实是一个壳,具体还是通过调用别的接口来实现(如jdk自带的连接,或者HttpClient之类的,需要设置)。

官方介绍

Spring‘s central class for synchronous client-side HTTP access. It simplifies communication with HTTP servers, and enforces RESTful principles. It handles HTTP connections, leaving application code to provide URLs (with possible template variables) and extract results.

Note: by default the RestTemplate relies on standard JDK facilities to establish HTTP connections. You can switch to use a different HTTP library such as Apache HttpComponents, Netty, and OkHttp through the HttpAccessor.setRequestFactory(org.springframework.http.client.ClientHttpRequestFactory) property. 

使用

这个其实没什么说的,不外乎创建template,设置底层连接,然后增删改查。

请参考Spring RESTRestTemplate实践

唯一需要注意的就是默认的jdk连接是不支持delete带请求体--解决办法见下面链接。

其他

暂时不清楚使用RestTemplate和直接使用HttpClient有什么区别,感觉HttpClient足够用了--囧。

--突然想到的,RestTemplate可以配合MessageConverter等使用!!!也就是配合SpringMVC使用,而HttpClient则需要手动转换!

杂:

httpHeaders.add("Accept-Language", "zh-CN,zh;q=0.8,en;q=0.6");

q是权重系数,范围 0 =< q <= 1,q 值越大,请求越倾向于获得其“;”之前的类型表示的内容,若没有指定 q 值,则默认为1,若被赋值为0,则用于提醒服务器哪些是浏览器不接受的内容类型。

参考:

通过 Spring RestTemplate 调用带请求体的 Delete 方法(Delete With Request Body)

为你详细解读HTTP请求头的具体含意

网页头部的声明应该是用 lang="zh" 还是 lang="zh-cn"?

HttpClient使用详解

RestTemplate实践

Spring REST

HttpClient使用详解

另推荐一个好文

SpringMVC源码剖析(五)-消息转换器HttpMessageConverter

时间: 2024-10-25 01:05:52

Spring RestTemplate 小结的相关文章

Spring JdbcTemplate小结

提供了JdbcTemplate 来封装数据库jdbc操作细节: 包括: 数据库连接[打开/关闭] ,异常转义 ,SQL执行 ,查询结果的转换 使用模板方式封装 jdbc数据库操作-固定流程的动作,提供丰富callback回调接口功能,方便用户自定义加工细节,更好模块化jdbc操作,简化传统的JDBC操作的复杂和繁琐过程. 1) 使用JdbcTemplate 更新(insert /update /delete) 1 int k = jdbcTemplate.update("UPDATE tblna

spring restTemplate 用法

发出get请求,方式一 String url = serverUrl+"/path/path?id={id}"; int i = restTemplate.getForObject(url,int.class,id); 发出get请求,方式二 URI url= UriComponentsBuilder.fromUriString(serverUrl) .path("/path/") .queryParam("key", key) .queryPa

Spring RestTemplate: 比httpClient更优雅的Restful URL访问

{ "Author": "tomcat and jerry", "url":"http://www.cnblogs.com/tomcatandjerry/p/5899722.html" } Spring RestTemplate, 使用java访问URL更加优雅,更加方便. 核心代码: String url = "http://localhost:8080/json"; JSONObject json =

Redis初学及与Spring集成小结

Redis初学及与Spring集成小结 1.redis是干什么的? redis是一种key-value内存数据库.在技术日新月异的发展环境下,客户的访问需求也在逐渐增长,物理数据库的压力也越来越大,由此redis也应运而生. redis常用的方式是将redis作为缓存数据库,减小物理数据库的访问压力: 2.redis常用数据结构: a.strings: set key value;设置key-value值 get key;获取key的value值 redis...method(redis中的一些

Spring RestTemplate 之get请求

一,简介:Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率 二.RestTemplate中几种常见请求方法的使用 ●get请求:在RestTemplate中,发送一个GET请求,我们可以通过如下两种方式 第一种:getForEntity getForEntity方法的返回值是一个ResponseEntity<T>,ResponseEntity<

Spring RestTemplate中文乱码解决方案

由于RestTemplate的默认构造方法初始化的StringHttpMessageConverter的默认字符集是ISO-8859-1,所以导致RestTemplate请求的响应内容会出现中文乱码.在这里我就要无力的吐槽一下了,Spring.StringHttpMessageConverter的默认字符集为啥是ISO-8859-1,难道不是UTF-8更通用一些吗?这个问题等大神给我答案吧. 其实本来网上已经有了两种解决方案,但是我并不喜欢那样的解决方案.具体怎么做,各位看官看是仔细查看吧.ht

Spring RestTemplate介绍

http://www.cnblogs.com/rollenholt/p/3894117.html RestTemplate 这篇文章打算介绍一下Spring的RestTemplate.我这边以前设计到http交互的,之前一直采用的是Apache HttpComponents .后来发现Spring框架中已经为我们封装好了这个框架.因此我们就不需要直接使用下面这种稍微底层一点的方式来实现我们的功能: String uri = "http://example.com/hotels/1/booking

使用Spring RestTemplate解析RESTful服务

在上一篇"使用Spring MVC 4构建Restful服务"博文中,我们谈到了如何使用Spring MVC 4搭建RESTful服务,本文以上篇文章为基础,继续讲解如何解析Spring RESTful服务.上篇文章中,我们用了jacson包进行Java对象的序列化,本文仍然使用此包进行Java对象的反序列化. 构建RESTful服务 1.我们继续在 FavRestfulController 类中,新增 buildRestUser() 方法,将FavUser对象序列化成JSON对象输出

Spring框架--小结

在此对Spring框架做一下小结: 1. Spring的优点: 轻量级:Spring在大小和透明性方面绝对属于轻量级的,基础版本的Spring框架大约只有2MB. 控制反转(IOC):Spring使用控制反转技术实现了松耦合.依赖被注入到对象,而不是创建或寻找依赖对象. 面向切面编程(AOP): Spring支持面向切面编程,同时把应用的业务逻辑与系统的服务分离开来. 容器:Spring包含并管理应用程序对象的配置及生命周期. MVC框架:Spring的web框架是一个设计优良的web MVC框