首页 > 作文

RestTemplate GET请求使用方法详解

更新时间:2023-04-06 04:24:37 阅读: 评论:0

本文是精讲resttemplate第3篇,前篇的blog访问地址如下:

精讲resttemplate第1篇-在spring或非spring环境下如何使用精讲resttemplate第2篇-多种底层http客户端类库的切换

resttemplate可以发送http get请求,经常使用到的方法有两个:

getforobject()getforentity()

二者的主要区别在于,getforobject()返回值是http协议的响应体。getforentity()返回的是responentity,responentity是对http响应的封装,除了包含响应体,还包含http状态码、contenttype、contentlength、header等信息。

为了方便后续开发测试,首先介绍一个网站给大家。jsonplaceholder是一个提供免费的在线rest api的网站,我们在开发时可以使用它提供的ur就业推荐表 自我鉴定l地址测试下网络请求以及请求参数。或者当我们程序需要获取一些模拟数据、模拟图片时也可以使用它。

一、 getforobject() 方法

1.1.以string的方式接受请求结果数据

在spring boot环境下写一个单元测试用例,肾结石的症状有哪些以string类型接收响应结果信息

@springboottestclass resttemplatewithspringapplicationtests {   @resource   private resttemplate resttemplate;   @test   void testsimple()  {      string url = "http://jsonplaceholder.typicode.com/posts/1";      string str = resttemplate.getforobject(url, string.class);      system.out.println(str);   }}

getforobject第二个参数为返回值的类型,string.class以字符串的形式接受getforobject响应结果,

1.2.以pojo对象的方式接受结果数据

在spring boot环境下写一个单元测试用例,以java pojo对象接收响应结果信息

@testpublic void testpojo() {   string url = "http://jsonplaceholder.typicode.com/posts/1";   postdto postdto = resttemplate.getforobject(url, postdto.class);   system.out.println(postdto.tostring());}

输出打印结果如下:

pojo的定义如下,根据json string的数据格李宇春 珍惜式定义。

@datapublic class postdto {    private int urid;    private int id;    private string title;    private string body;}

1.3.以数组的方式接收请求结果

访问http://jsonplaceholder.typicode.com/posts 可以获得json数组方式的请求结果

下一步就是我们该如何接收,使用方法也很简单。在spring boot环境下写一个单元测试用例,以数组的方式接收请求结果。

@testpublic void testarrays() {   string url = "/d/file/titlepic/posts";   postdto[] postdtos = resttemplate.getforobject(url, postdto[].class);   system.out.println("数组长度:" + postdtos.length);}

请求的结果被以数组的方式正确接收,输出如下:

数组长度:100

1.4.使用占位符号传参的几种方式

以下的几个请求都是在访问”http://jsonplaceholder.typicode.com/posts/1″,只是使用了占位符语法,这样在业务使用上更加灵活。

使用占位符的形式传递参数:

string url = "http://jsonplaceholder.typicode.com/{1}/{2}";postdto postdto = resttemplate.getforobject(url, postdto.class, "posts", 1);

另一种使用占位符的形式:

string url = "http://jsonplaceholder.typicode.com/{type}/{id}";string type = "posts";int id = 1;postdto postdto = resttemplate.getforobject(url, postdto.class, type, id);

我们也可以使用 map 装载参数:

string url = "http://jsonplaceholder.typicode.com/{type}/{id}";map<string,object> map = new hashmap<>();map.put("type", "posts");map.put("id", 1);postdto  postdto = resttemplate.getforobject(url, postdto.class, map);

二、getforentity()方法

上面的所有的getforobject请求传参方法,getforentity都可以使用,使用方法上也几乎是一致的,只是在返回结果接收的时候略有差别。使用responentity<t> responentity来接收响应结果。用responentity.ge广西最好的大专tbody()获取响应体。响应体内容同getforobject方法返回结果一致。剩下的这些响应信息就是getforentity比getforobject多出来的内容。

httpstatus statuscode = responentity.getstatuscode();获取整体的响应状态信息int statuscodevalue = responentity.getstatuscodevalue(); 获取响应码值httpheaders headers = responentity.getheaders();获取响应头等

@testpublic void testentitypojo() {   string url = "http://jsonplaceholder.typicode.com/posts/5";   responentity<postdto> responentity               = resttemplate.getforentity(url, postdto.class);   postdto postdto = responentity.getbody(); // 获取响应体   system.out.println("http 响应body:" + postdto.tostring());   //以下是getforentity比getforobject多出来的内容   httpstatus statuscode = responentit小学生感恩老师的100个故事y.getstatuscode(); // 获取响应码   int statuscodevalue = responentity.getstatuscodevalue(); // 获取响应码值   httpheaders headers = responentity.getheaders(); // 获取响应头   system.out.println("http 响应状态:" + statuscode);   system.out.println("http 响应状态码:" + statuscodevalue);   system.out.println("http headers信息:" + headers);}

输出打印结果

欢迎关注我的博客,里面有很多精品合集 本文转载注明出处(必须带连接,不能只转文字):字母哥博客。

觉得对您有帮助的话,帮我点赞、分享!您的支持是我不竭的创作动力! 。另外,笔者最近一段时间输出了如下的精品内容,期待您的关注。

《手摸手教你学spring boot2.0》《spring curity-jwt-oauth2一本通》《实战前后端分离rbac权限管理系统》《实战springcloud微服务从青铜到王者》《vue深入浅出系列》

本文发布于:2023-04-06 04:24:32,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/51ca682fae1bb21fd15447a154c10dcf.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:RestTemplate GET请求使用方法详解.doc

本文 PDF 下载地址:RestTemplate GET请求使用方法详解.pdf

标签:数组   方式   信息   方法
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图