介绍
API说明getForEntity()发送一个HTTP GET请求,返回的ResponseEntity包含了响应体所映射成的对象getForObject()发送一个HTTP GET请求,返回的请求体将映射为一个对象postForEntity()职位数据到一个URL,返回包含一个对象的ResponseEntity,这个对象是从响应体中映射得到的postForObject()职位数据到一个URL,返回根据响应体匹配形成的对象headForHeaders()发送HTTP头请求,返回包含特定资源URL的HTTP头optionsForAllow()发送HTTP选项请求,返回对特定URL的允许头信息postForLocation()职位数据到一个URL,返回新创建资源的URLput()把资源到特定的URLdelete()在特定的URL上对资源执行HTTP DELETE操作交换()在URL上执行特定的HTTP方法,返回包含对象的ResponseEntity,这个对象是从响应体中映射得到的执行()在URL上执行特定的HTTP方法,返回一个从响应体映射得到的对象
如何正确的使用Spring创建RestTemplate ?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<强> 1。环境搭建强>
? ?为了演示创建RestTemplate的使用,我们创建两个SpringBoot项目,一个提供者作为服务器端,一个消费者作为服务调用方法
<强> 2. API方法介绍强>
API说明getForEntity()发送一个HTTP GET请求,返回的ResponseEntity包含了响应体所映射成的对象getForObject()发送一个HTTP GET请求,返回的请求体将映射为一个对象postForEntity()职位数据到一个URL,返回包含一个对象的ResponseEntity,这个对象是从响应体中映射得到的postForObject()职位数据到一个URL,返回根据响应体匹配形成的对象headForHeaders()发送HTTP头请求,返回包含特定资源URL的HTTP头optionsForAllow()发送HTTP选项请求,返回对特定URL的允许头信息postForLocation()职位数据到一个URL,返回新创建资源的URLput()把资源到特定的URLdelete()在特定的URL上对资源执行HTTP DELETE操作交换()在URL上执行特定的HTTP方法,返回包含对象的ResponseEntity,这个对象是从响应体中映射得到的执行()在URL上执行特定的HTTP方法,返回一个从响应体映射得到的对象
<强> 3。具体使用强>
? ?我们通过常用的HTTP协议的四种请求方式来看下效果
<强> 3.1无参请求强>
? ?我们先来看下服务端请求方法不需要接收参数,
<强> getForEntity 强>
? ?通过getForEntity来实现
服务端
,/* * *大敌;无参,返回字符串 ,* @return ,*/,@GetMapping (“/server1") ,public String  server1String () { System.out.println才能(“服务端被访问了…“); return 才能“success"; 以前,}>调用
/* * ,* RestTemplate 访问,提供者的第一个服务,server1 ,*/@Test public void  contextLoads (), { ,String url =,“http://localhost: 8080/server1"; ,RestTemplate RestTemplate =, new 创建RestTemplate (); ,ResponseEntityentity =, restTemplate.getForEntity (url, String.class); ,//获取响应的状态 ,HttpStatus statusCode =, entity.getStatusCode (); ,//获取响应的头信息 ,HttpHeaders headers =, entity.getHeaders (); ,//获取响应身体的信息 ,String msg =, entity.getBody (); ,System.out.println (statusCode); ,System.out.println(头); ,System.out.println(味精); } 输出结果
/* * ,* getForObject 访问 ,*/@Test public void  contextLoadsObject (), { ,String url =,“http://localhost: 8080/server1"; ,RestTemplate RestTemplate =, new 创建RestTemplate (); ,//直接返回的就是我们需要的结果,但是获取不到对应的响应状态等信息 ,String msg =, restTemplate.getForObject (url, String.class); ,System.out.println(味精); }
<强> 3.2有参请求强>
服务端方法需要接收调用者传递的参数
/* * ,*有参,基本数据类型,返回字符串 ,* @return ,*/,@RequestMapping (“/server2") ,public String  server2String (Integer id, String 用户名){ System.out.println才能(“服务端被访问了……“+身份证+“,“+用户名); return “才能成功——参数得到了“; ,}/* * ,*有参,基本数据类型,返回字符串 ,* @return ,*/,@RequestMapping (“/server3") ,public String  server3String (User 用户){ System.out.println才能(“服务端被访问了……“+用户); return “才能成功——参数得到了“; 以前,}Spring创建RestTemplate如何正确的使用