spring中 使用restTemplate访问rest接口
来源:互联网 发布:mac关闭spotlight搜索 编辑:程序博客网 时间:2024/03/29 19:59
使用spring框架中的 RestTemplate访问rest接口
在开发过程中,有后台服务访问远程rest接口的需求,采用spring 框架中的RestTemplate类实现。
RestTemplate类位于org.springframework.web.client包中,提供Http的各类方法:如Get,Head,Post,Put,Delete等,用于访问rest接口,本文以get方法举个简单的例子,介绍RestTemplate类的使用。
RestTemplate有两个构造方法,分别是:
public RestTemplate() {
/**
...初始化过程
*/
}
public RestTemplate(ClientHttpRequestFactory requestFactory) {
this();
setRequestFactory(requestFactory);
}
其中,第二个构造方法中可以传入ClientHttpRequestFactory参数,第一个进行默认初始化,需求中我们需要对请求超时进行设置并能够对超时进行后续处理,第一个构造方法,我们无法控制超时时间,第二个构造中的ClientHttpRequestFactory接口的实现类中存在timeout属性,因此选用第二个构造方法。
在spring配置文件中进行如下配置:
<!-- 配置RestTemplate -->
<!--Http client Factory-->
<bean id="httpClientFactory" class="org.springframework.http.client.SimpleClientHttpRequestFactory">
<property name="connectTimeout" value="${connectTimeout}"/>
<property name="readTimeout" value="${readTimeout}"/>
</bean>
<!--RestTemplate-->
<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
<constructor-arg ref="httpClientFactory"/>
</bean>
注意:ClientHttpRequestFactory 接口有4个实现类,分别是:
1.AbstractClientHttpRequestFactoryWrapper 用来装配其他request factory的抽象类。
2.CommonsClientHttpRequestFactory 允许用户配置带有认证和http连接池的httpclient,已废弃,推荐用HttpComponentsClientHttpRequestFactory。
3.HttpComponentsClientHttpRequestFactory 同2.
4.SimpleClientHttpRequestFactory 接口的一个简单实现,可配置proxy,connectTimeout,readTimeout等参数。
本文中使用的是第4个实现,具体的根据个人需求再选在使用哪个。
程序中如何使用:
1.在服务类中自动注入:
@Qualifier("restTemplate")
@Autowired
private RestTemplate restTemplate;
2. Map<String, Object> urlVariables = new HashMap<String, Object>();
urlVariables.put("param1",param1);
urlVariables.put("param2",param2);
JSONObject result = restTemplate.getForObject(restURI,
JSONObject.class, urlVariables);
方法的使用详细大家再查api。
- spring中 使用restTemplate访问rest接口
- 使用spring框架中的 RestTemplate访问rest接口
- 使用spring RestTemplate进行rest接口测试
- 使用spring RestTemplate进行rest接口测试
- Spring RestTemplate 访问 restFul 接口
- spring中利用RestTemplate调用REST资源
- spring rest mvc使用RestTemplate调用
- spring rest mvc使用RestTemplate调用
- REST访问(RestTemplate)
- Spring中使用RestTemplate调用第三方接口API
- RestTemplate访问Spring MVC restFul接口
- REST In Spring : RestTemplate
- Spring提供RestTemplate用于访问Rest服务的客户端实践
- Spring中RestTemplate使用例子
- RestTemplate访问Rest服务总结
- 使用Apache Httpclient访问Spring rest接口下载文件
- 在spring MVC中使用RestTemplate
- Spring Boot中RestTemplate的使用
- Android4.2.2 Gallery2源码分析(10)——Activity于View的结合
- linux svn 客户端安装配置
- JNDI学习手记
- OCP-1Z0-052-V8.02-24题
- 五种查找算法总结
- spring中 使用restTemplate访问rest接口
- HDU:4770 Lights Against Dudely
- 黑马程序员:UDP与TCP的区别
- POJ_3006
- sessionStorage 、localStorage 跟 cookie 之间的区别
- axis2需要的jar
- C++中 public,protected, private 访问标号
- Eclipse 之 JadClipse 插件使用
- 软件项目版本号的命名规则及格式