springboot使用resttemplate,springboot使用resttemplate调用其他项目借口
00-1010一、什么是RestTemplate?第二,在非Spring环境中使用RestTemplate,第三,在Spring环境中使用RestTemplate
目录
RestTemplate是一个执行HTTP请求的同步阻塞客户端。它封装了一个更简单易用的基于HTTP客户端库的模板方法API(如JDK HttpURLConnection、Apache HttpComponents、okHttp等。).也就是说RestTemplate是一个包,底层实现是java应用开发中常用的一些HTTP客户端。但是相比直接使用底层HTTP客户端库,它的操作更加方便快捷,可以大大提高我们的开发效率。
作为spring-web项目的一部分,RestTemplate在Spring 3.0版本中引入。RestTemplate类通过为HTTP方法(如GET、POST、PUT、DELETE等)提供重载方法,提供了一种非常方便的访问基于HTTP的Web服务的方式。).如果你的Web服务API是基于标准的RESTful风格设计,使用效果会更完美。
根据Spring官方文档和源代码的介绍,RestTemplate在未来的版本中可能会被抛弃,因为他们在Spring 5中已经引入了WebClient作为非阻塞的反应式HTTP客户端。然而,RestTemplate仍然“严重依赖”Spring社区中的许多项目,例如Spring Cloud。另外RestTemplate是一个客户端API包,非阻塞反应式编程的要求相对于服务器来说没有那么高。
00-1010为了方便后续的开发和测试,先给大家介绍一个网站。JSONPlaceholder是一个提供免费在线REST API的网站。我们可以在开发过程中使用JSON占位符提供的url地址来测试网络请求和请求参数。或者我们可以在我们的程序需要得到一些仿真数据和仿真图片的时候使用。
RestTemplate是spring的一个rest客户端,在spring-web的包下。虽然这个包名为spring-web,但是它的RestTemplate可以在没有spring环境的情况下使用。
依赖groupIdorg.springframework/groupId工件Spring-Web/工件ID version5.2.6.RELEASE/version/dependency测试Hello world,使用RestTemplate发送GET请求,并打印从请求中获得的JSON数据结果。
@ Testpublic void simple test(){ rest template rest template=new rest template();string URL= http://jsonplaceholder . typicode.com/posts/1 ;string str=rest template . getfor object(URL,string . class);system . out . println(str);}服务器是JSONPlaceholder网站,帮助我们提供服务器API。需要注意的是:“http://jsonplaceholder.typicode.com/posts/1服务网址。虽然网址里有posts这个词,但是它的英文意思是:post或者announcement,而不是我们的HTTP Post协议。
比如说“3358jsonplaceholder.typicode.com/Posts/1,”和请求的数据是:id为1的发布公告资源。打印结果如下:
这里我们只是演示RestTemplate最基本的用法。RestTemplate会写成系列文章,请注意。
00-1010将maven坐标从spring-web更改为spring-boot-starter-web
依赖groupIdorg.springframework.boot/groupId工件Spring-Boot-Starter-Web/工件ID/Dependency将RestTemplate配置初始化为Bean。这个初始化方法是通过使用JDK提供的HttpURLConnection作为底层HTTP客户端来实现的。我们也可以将底层实现切换到Apache HttpComponents、okHttp等。这将在我们随后的章节中介绍。
@ Configuration公共类Context Config {//默认使用JDK自带的HttpURLConnection作为底层实现@ bean公共rest template rest template(){ rest template rest template=new rest template();返回restTemplate}}需要使用RestTemplate的地方,直接注入使用即可。
@ Resource//@ auto wired private rest template rest template;以上是Spring或非Spring环境下RestTemplate使用的强化讲座的详细内容。更多关于Spring环境下RestTemplate使用的信息,请关注盛行IT的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。