博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot 注入 restTemplate
阅读量:6837 次
发布时间:2019-06-26

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

手动实例化,这个我基本不用

RestTemplate restTemplate = new RestTemplate();

 

依赖注入,通常情况下我使用 java.net 包下的类构建的 SimpleClientHttpRequestFactory

@Configurationpublic class RestConfiguration {    @Bean    @ConditionalOnMissingBean({RestOperations.class, RestTemplate.class})    public RestOperations restOperations() {        SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();        requestFactory.setReadTimeout(5000);        requestFactory.setConnectTimeout(5000);        RestTemplate restTemplate = new RestTemplate(requestFactory);        // 使用 utf-8 编码集的 conver 替换默认的 conver(默认的 string conver 的编码集为 "ISO-8859-1")        List
> messageConverters = restTemplate.getMessageConverters(); Iterator
> iterator = messageConverters.iterator(); while (iterator.hasNext()) { HttpMessageConverter
converter = iterator.next(); if (converter instanceof StringHttpMessageConverter) { iterator.remove(); } } messageConverters.add(new StringHttpMessageConverter(Charset.forName("UTF-8"))); return restTemplate; }}

 

 

请求地址

get 请求 url 为

http://localhost:8080/test/sendSms?phone=手机号&msg=短信内容

错误使用

@Autowiredprivate RestOperations restOperations;public void test() throws Exception{    String url = "http://localhost:8080/test/sendSms";    Map
uriVariables = new HashMap
(); uriVariables.put("phone", "151xxxxxxxx"); uriVariables.put("msg", "测试短信内容"); String result = restOperations.getForObject(url, String.class, uriVariables);}

 

 

服务器接收的时候你会发现,接收的该请求时没有参数的


正确使用

@Autowiredprivate RestOperations restOperations;public void test() throws Exception{    String url = "http://localhost:8080/test/sendSms?phone={phone}&msg={phone}";    Map
uriVariables = new HashMap
(); uriVariables.put("phone", "151xxxxxxxx"); uriVariables.put("msg", "测试短信内容"); String result = restOperations.getForObject(url, String.class, uriVariables);}

 

 

等价于

@Autowiredprivate RestOperations restOperations;public void test() throws Exception{    String url = "http://localhost:8080/test/sendSms?phone={phone}&msg={phone}";    String result = restOperations.getForObject(url, String.class,  "151xxxxxxxx", "测试短信内容");}

 

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

你可能感兴趣的文章
创建用户
查看>>
在spring web中启动mqtt
查看>>
QingStor 对象存储服务正式商用
查看>>
查看 SELinux状态及关闭SELinux
查看>>
(转) Twisted :第十八部分 Deferreds 全貌
查看>>
Oracle 基础之数据库管理
查看>>
Web应用中的缓存一致性问题
查看>>
通过Android重审GET和POST请求
查看>>
马王堆汉墓帛书‧老子甲本——道经
查看>>
ruby中DBI连接MySQL数据库步骤详解
查看>>
mongodb 的PHP 扩展
查看>>
bp神经网络
查看>>
彻底理解cookie,session,localStorage(附代码)
查看>>
你还记得当初为什么进入IT行业吗?
查看>>
[翻译]MongoDb 架构(MongoDb Architecture)
查看>>
oracle统计数据库所有表的数据记录数SQL
查看>>
Kafka 安装配置及快速入门
查看>>
随机森林案例分析:德国银行信贷风险分析
查看>>
ant读书之使用ant进行java开发--第二章
查看>>
Glib实例学习(5)平衡二叉树
查看>>