springresttemplate之get请求

技术小白丁      2022-04-30     207

关键词:

一,简介:Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率

二、RestTemplate中几种常见请求方法的使用

    ●get请求:在RestTemplate中,发送一个GET请求,我们可以通过如下两种方式

         第一种:getForEntity

            getForEntity方法的返回值是一个ResponseEntity<T>,ResponseEntity<T>是Spring对HTTP请求响应的封装,包括了几个重要的元素,如响应码、contentType、contentLength、响应消息体等。例子:

 

@Controller

@RequestMapping("/restTest")

public class RestTempLateTest {

private RestTemplate restTemplate = new RestTemplate();

@RequestMapping("/hello")

@ResponseBody

public String getHello() {

// ResponseEntity<IntMonitor> res = restTemplate.getForEntity(url,

// IntMonitor)

ResponseEntity<String> res = restTemplate.getForEntity(

"http://10.145.198.143:8081/ords/data_service/monitor/IntMonitor",

String.class);

String body = res.getBody();

return body;

}

}

        有时候我在调用服务提供者提供的接口时,可能需要传递参数,有两种不同的方式,如下        

        @RequestMapping("/hello1/{flag}")

@ResponseBody

public String getHello1(@PathVariable String flag){

ResponseEntity<String> res = restTemplate.getForEntity(

"http://10.145.198.143:8081/ords/data_service/monitor/IntMonitor/{1}", 

String.class, 

"1");

String body = res.getBody();

return body;

}

 

        @RequestMapping("/hello2/{flag}")

@ResponseBody

public String getHello2(@PathVariable String flag){

Map<String, Object> map = new HashMap<String, Object>();

map.put("flag", flag);

ResponseEntity<String> res = restTemplate.getForEntity(

"http://10.145.198.143:8081/ords/data_service/monitor/IntMonitor/{flag}", 

String.class, 

map);

String body = res.getBody();

return body;

}

    

        @RequestMapping("/hello3/{flag}")

@ResponseBody

public String getHello3(@PathVariable String flag) {

UriComponents uriComponents = UriComponentsBuilder

.fromUriString(

"http://10.145.198.143:8081/ords/data_service/monitor/IntMonitor/{flag}")

.build().expand(flag);

URI uri = uriComponents.toUri();

ResponseEntity<String>  res = restTemplate.getForEntity(uri, String.class);

String body = res.getBody();

return body;

}

  • 可以用一个数字做占位符,最后是一个可变长度的参数,来一一替换前面的占位符

  • 也可以前面使用name={name}这种形式,最后一个参数是一个map,map的key即为前边占位符的名字,map的value为参数值

  • 调用地址也可以是一个url,而不是一个字符串,这样可以直接调用url.

        第二种:getForObject

           getForObject函数实际上是对getForEntity函数的进一步封装,如果你只关注返回的消息体的内容,对其他信息都不关注,此时可以使用getForObject,

            举一个简单的例子,如下:

        @RequestMapping("/hello4/{flag}")

@ResponseBody

public String getHello4(@PathVariable String flag) {

UriComponents uriComponents = UriComponentsBuilder

.fromUriString(

"http://10.145.198.143:8081/ords/data_service/monitor/IntMonitor/{flag}")

.build().expand(flag);

URI uri = uriComponents.toUri();

String  res = restTemplate.getForObject(uri, String.class);

return res;

}

Spring RestTemplate:在 GET 请求中发送数组/字符串列表

】SpringRestTemplate:在GET请求中发送数组/字符串列表【英文标题】:SpringRestTemplate:sendingarray/listofStringinGETrequest【发布时间】:2016-02-0904:04:57【问题描述】:我正在尝试通过SpringRestTemplate将字符串数组/列表发送到我的REST服务器。... 查看详情

springresttemplate发送post请求携带参数和请求头(代码片段)

importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.http.HttpEn 查看详情

接口测试之jmeter中http请求之get请求

...测试计划,右击-Threads(Users)-线程组3、接下来新建一个http请求,选择线程组,右击-Samper-HTTP请求。4、输入服务器名称或IP;选择get方式;输入请求路径;输入请求参数。5、再添加一个察看结果树查看请求结果,选择线程组,右... 查看详情

http协议之请求协议

一.请求协议格式:请求首行;//请求方式请求路径协议和版本,例如:GET/index.htmlHTTP/1.1请求头信息;//请求头名称:请求头内容,即为key:value格式,例如:Host:localhost空行;//用来与请求体分隔开请求体;//GET没有请求体,只有POST有请求... 查看详情

springboot之get请求404

后台:SpringBoot前台:VUE异常:调get接口,返回404场景:get请求传参,后台返回n条数据,不传参则返回所有原因:原请求url为"~/one/{param}",不传参则请求url为"~/one",只因一个"/"的问题,匹配不到对应的url解决:requestMapping设置为url集合,用以支持传... 查看详情

python之http请求报文

一、HTTP请求报文介绍HTTP最常见的请求报文有两种:GET方式的请求报文POST方式的请求报文说明:GET:获取web服务器数据POST:向web服务器提交数据二、HTTPGET请求报文分析HTTPGET请求报文效果图:GET请求报文说明:----请求行----GET/HTTP/1.1#GET请... 查看详情

java学习心得之httpclient的get和post请求

...FengXueTing-px/欢迎转载Java学习心得之 HttpClient的GET和POST请求1.前言2.GET请求3.POST请求  一、前言本篇博文记录了HttpClient的GET和POST请求本文内容基于以下文章:http://huangqiqing123.iteye.com/blog/20 查看详情

jquery之禁止get请求缓存(代码片段)

 如果两次Get请求的URL完全一样,则IE浏览器会调用上次缓存的结果,不会发起新的Http请求。解决办法:在URL最后面加上时间戳。 jQuery全局设置禁止缓存$.ajaxSetup(cache:false);  发送请求$.get(‘https://www.baidu.com‘); ... 查看详情

http方法之get与post对比

...OST  1.GET方法:    查询字符串(键/值对)是在GET请求的URL中发送的。  /test.php?a=value1&b=value2get请求可被缓存get请求保留在浏览器历史中get请求可以收藏书签get请求有长度限制(url长度最大为2048get请求不应该在有敏... 查看详情

django框架之get请求和post请求简介(代码片段)

文章目录请求与响应GET请求和POST请求请求与响应请求是指浏览器通过HTTP协议发送给服务器端的数据,响应是指服务器端接收到请求后做相应的处理后再回复给浏览器端的数据GET请求和POST请求请求中,最常见和常用的也... 查看详情

接口测试之-get请求

用requests库先安装pipinstalltequests [01]:/api/site/stats.json[02]:/api/site/info.json[03]:/api/nodes/all.json[04]:/api/nodes/show.json?id=1[05]:/api/topics/latest.json[06]:/api/topics/show.json?id=1( 查看详情

springmvc之请求部分(代码片段)

1、接收请求之限定请求类型只接受Post请求@RequestMapping(value="",method=RequestMethod.POST)只接受get请求@RequestMapping(value="",method=RequestMethod.GET)默认不写的情况下GET和POST都可以访问2、接收请求之限定必传参数例如必须传一个名称是name名... 查看详情

前端ajax中运用post请求和get请求之于session验证

首先我们来看下ajax两种请求的区别:   Ajax中POST和GET的区别Get和Post都是向服务器发送的一种请求,只是发送机制不同。1. GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器... 查看详情

ios之post与get的优缺点

//请求数据时传参数要将汉字转码//GET获取数据,所有的参数信息都会暴露 GET方法和POST方法对比:优点:GET:1.请求方便,直接用一个完整的路径去请求获取数据2.发送求请求过程中不会发送请求体,不会破坏服务器的封装性... 查看详情

express之get,pos请求参数的获取

Get请求query参数的获取url假设:http://localhost:3000/users/zqzjs?name=zhaoqize&word=cool&job[st]=web路由的定义:router.get(‘/:name‘,function(req,res,next){}) 1.获取?name=zhaoqize这样的参数req.query.name 2. 查看详情

1.rest之@get和@post请求的区别:

...信息,@Post一般是用于更新资源信息。(2)Url不同,@Get请求的url:http://localhost:8080/imeter-cms/rest/device/queryDevice?serialNo=1&type=1它会把参数这样拼接,@Post请求的url:http://localhost:8080/imeter-cms/rest/d 查看详情

jmeter请求元件之jmeterrequest发送get请求和post请求

....首先在测试计划下添加线程组:2.再次添加Sampler—HTTP请求: 3.HTTP请求界面填写:接口信息:接口地址:http://v.juhe.cn/laohuangli/d返回格式:json/xml请求方式:httpget/post请求示例:http://v.juhe.cn/laohuangli/d?date=2014-09-11&key=您... 查看详情

http请求方式之get和post比较

...的协议HTTP在客户端和服务器之间以request-responseprotocol(请求-回复协议)工作两种方法作用GET -从指定的服务器中获取数据POST-提交数据给指定的服务器处理GET方法概念:使用GET方法时,查询字符串(键值对)被附加在U 查看详情