文档章节

restTemplate使用实例

go4it
 go4it
发布于 2016/12/12 23:08
字数 165
阅读 43
收藏 1
点赞 0
评论 0

##请求携带cookie

        HttpHeaders headers = new HttpHeaders();
        List<String> cookies = new ArrayList<>();
        cookies.add("JSESSIONID=" + Strings.nullToEmpty(jsessionId));
        cookies.add("token=" + Strings.nullToEmpty(token));
        headers.put(HttpHeaders.COOKIE,cookies);
        HttpEntity request = new HttpEntity(null, headers);
        ResponseEntity<String> response = restTemplate.postForEntity(url, request, String.class);

##post表单

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
        map.add("title", title);
        map.add("desc", desc);
        map.add("userid", toUserId);
        HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(map, headers);
        ResponseEntity<String> response = restTemplate.postForEntity(url, request, String.class);

##post json

    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON);
    headers.setAccept(Lists.newArrayList(MediaType.APPLICATION_JSON));
    HttpEntity<String> entity = new HttpEntity<String>(requestJson, headers);
    ResponseEntity<String> resp = restTemplate.postForEntity(url,entity,String.class);

##url post

                String template = baseUrl + "/demo?app={0}&userId={1}";
                String url = MessageFormat.format(template,app,userId);
                return restTemplate.postForEntity(url,null,String.class);

##请求图片

HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_OCTET_STREAM));
HttpEntity<String> entity = new HttpEntity<String>(headers);
ResponseEntity<byte[]> response = restTemplate.exchange(url,HttpMethod.GET, entity, byte[].class);
byte[] imageBytes = response.getBody();

© 著作权归作者所有

共有 人打赏支持
go4it
粉丝 50
博文 646
码字总数 437254
作品 0
深圳
Spring RestTemplate 详解

1、基本概念 Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率,所以很多客户端比如 ...

learn_more ⋅ 2016/12/07 ⋅ 3

SpringBoot消费BmobAPI

在大部分的情况下,使用客户端开发时调用Bmob的服务是比较常见的,比如开发Android、iOS应用程序等等。这样做能够直接省去服务端开发该做的事情,一方面降低了开发成本,另一方面也提高了客户...

大王12 ⋅ 2017/11/24 ⋅ 0

深入理解Ribbon之源码解析

转载请标明出处: http://blog.csdn.net/forezp/article/details/74820899 本文出自方志朋的博客 什么是Ribbon Ribbon是Netflix公司开源的一个负载均衡的项目,它属于上述的第二种,是一个客...

forezp ⋅ 2017/07/08 ⋅ 0

spring cloud 服务注册与发现

利用netflix公司的开源项目eureka用以提供服务注册、发现 分为两部分 @EnableEurekaClient: 该注解表明应用既作为eureka实例又为eureka client 可以发现注册的服务 @EnableEurekaServer: 该注...

jack_peng ⋅ 2016/07/21 ⋅ 0

用ZooKeeper做为注册中心搭建基于Spring Cloud实现服务注册与发现

前提: 先安装好ZooKeeper的环境,搭建参考:http://www.cnblogs.com/EasonJim/p/7482961.html 说明: 可以再简单的理解为有两方协作,一个是服务提供这,另一个是服务消费者。 搭建实例: ...

easonjim ⋅ 2017/09/30 ⋅ 0

RestTemplate 查询参数有特殊字符

前面说到如何使用 Spring 的 RestTemplate 进行数据请求,如何避免乱码问题,在项目开发中还遇到了文件上传和下载,所以也写了使用 RestTemplate 包装文件下载的组件。同样,项目越大遇到的问...

learn_more ⋅ 2016/07/02 ⋅ 0

Spring RestTemplate Interceptor 配置

自定义自己的interceptor 配置httpclient (用于发送请求),并为restTemplate注入interceptor 总结 在为RestTemplate注入interceptor的时候要选择 InterceptingClientHttpRequestFactory int...

OrangeJoke ⋅ 2016/10/09 ⋅ 0

spring cloud 建一个服务消费者client-ribbon

在它的pom.xml文件分别引入起步依赖spring-cloud-starter-eureka、spring-cloud-starter-ribbon、spring-boot-starter-web 在工程的配置文件指定服务的注册中心地址为http://localhost:8761...

lsjlgo ⋅ 05/28 ⋅ 0

[Spring Cloud] 2.Spring Cloud Native Application

Spring Cloud Native Application 原生应用 原生应用:是一种程序开发风格,是连续交付(持续集成)和值驱动领域的最佳实践。 12-factors 与12-Factor (SaaS)应用,有着类似的目标: (12-Fa...

秋雨霏霏 ⋅ 2016/06/29 ⋅ 2

Spring RestTemplate 下载文件

1、思考 面向服务编程中,我们经常需要通过HttpClient请求服务器获取对应的数据服务,如果你使用RestTemplate,肯定会在会他的 上传、下载,因为一般的Json数据请求都比较简单。下面就分享一...

learn_more ⋅ 2016/05/28 ⋅ 5

没有更多内容

加载失败,请刷新页面

加载更多

下一页

DevOps 资讯 | PostgreSQL 的时代到来了吗 ?

PostgreSQL是对象-关系型数据库,BSD 许可证。拼读为"post-gress-Q-L"。 作者: Tony Baer 原文: Has the time finally come for PostgreSQL?(有删节) 近30年来 PostgreSQL 无疑是您从未听...

RiboseYim ⋅ 14分钟前 ⋅ 0

Cube、Cuboid 和 Cube Segment

1.Cube (或Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引。通过 Cube 对数据进行分析,可以大大加快数据的查询效率 2.Cuboid 在 Kylin 中特...

无精疯 ⋅ 52分钟前 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 54分钟前 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 今天 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 今天 ⋅ 0

Redis 注册为 Windows 服务

Redis 注册为 Windows 服务 redis 注册为 windows 服务相关命令 注册服务 redis-server.exe –service-install redis.windows.conf 删除服务 redis-server –service-uninstall 启动服务 re......

Os_yxguang ⋅ 今天 ⋅ 0

世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么? 错!因为使用它真的是太舒服了!!! Micropython的由来,这得益于Damien George这位伟大...

bodasisiter ⋅ 今天 ⋅ 0

docker 清理总结

杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器(docker rm没有加-f参数,运行中的容器不会删掉) docker rm $(docker ps -a -q) 删除所有未打 dangling 标...

vvx1024 ⋅ 今天 ⋅ 0

关于学习

以前学车的时候,教练说了这样的一句话:如果一个人坐在车上一直学,一直学,反而不如大家轮流着学。因为一个人一直学,就没有给自己留空间来反思和改进。而轮流着学的时候大家下来之后思考上...

mskk ⋅ 今天 ⋅ 0

压缩工具之gzip-bzip2-xz

win下常见压缩工具:rar zip 7z linux下常见压缩工具:zip gz bz2 xz tar.gz tar.bz2 tar.xz gzip 不支持目录压缩 gzip 1.txt #压缩。执行后1.txt消失,生成1.txt.gz压缩文件 gzip -d 1.txt....

ZHENG-JY ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部