首页 > 应用开发 > Java > SpringBoot实现RESTful服务接口
在实际使用SpringBoot开发项目的过程中,后端服务经常会遇到跨模块访问的需求,这就需要我们的服务接口有同一的开发规范,这样在跨模块调用时才能更方便、高效。而Spring Boot也为我们创建Web服务提供了非常强大的组件化支持,简单而方便,我们一起来看一下。
在当下的分布式系统及微服务架构中,RESTful风格是一种非常流行的Web服务表现方式,RESTful,即Representational State Transfer,表述性状态转移,其本质上只是一种架构风格而不是一种规范。
RESTful架构风格把位于服务器端的访问入口看作一个资源,每个资源都会使用URI(Universal Resource Identifier,统一资源标识符)标识得到一个唯一的地址,且在传输协议上使用标准的HTTP方法,如GET、PUT、POST和DELETE。
@GetMapping/@PostMapping/@PutMapping/@DeleteMapping('/'):Spring Boot2引入,RESTful风格的请求注解,后跟具体的请求路径,其含义相当于@RequestMapping注解并默认使用了RequestMethod.GET等指定的HTTP方法。
@RequestMapping('/'):后跟url可以指定接口的具体路径,可以指定路径信息、请求方式、和内容类型等
@RequestMapping注解中的
produces属性来设置这个属性。
@PathVariable:该注解用于获取路径参数,即从
url/{id}这种形式路径中获取
{id}参数的值
@RequestParam:注解的作用与
@PathVariable注解类似,也是用于获取请求中的参数,面向类似
url?id=XX的形式。
@RequestBody:注解用来处理
content-type为
application/json类型时的编码内容,通过
@RequestBody注解可以将请求体中的JSON字符串绑定到相应的JavaBean 上。
@RestController:该注解相当于是Spring MVC中
@Controller和
@ResponseBody这两个注解的组合,它们会自动返回JSON格式的数据。在使用时,我们只需要返回一个普通的业务对象即可,因为
@RestController注解已经屏蔽了底层实现的复杂性。
服务创建完成后,我们就要对服务进行消费,RestTemplate就是SpringBoot提供的用于访问RESTful服务的客户端模板工具类,位于org.springframework.web.client包中。
创建一个RestTemplate对象,最常见的方法是直接 new 一个实例:
RestTemplate类有一个无参和一个有参的构造方法,默认使用无参构造方法,有参的可以用来增强一些功能。
SpringBoot中使用RESTful接口来统一接口规范,让我们的开发更规范化,并使用RestTemplate消费接口。
RestTemplate模板类来完成对远程 HTTP 端点的访问,其为开发人员提供了一大批有用的工具方法来实现 HTTP 请求的发送以及响应的获取。同时,该模板类还开发了一些定制化的入口供开发人员嵌入,用来实现对 HTTP 请求过程进行精细化管理的处理逻辑,RestTemplate 在设计和实现上毫无疑问是一款非常有效的工具类。
对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
不用多说,相信大家都有一个共识:无论什么行业,最牛逼的人肯定是站在金字塔端的人。所以,想做一个牛逼的程序员,那么就要让自己站的更高,成为技术大牛并不是一朝一夕的事情,需要时间的沉淀和技术的积累。
现在竞争这么激烈,只有通过不断学习,提高自己,才能保持竞争力。
对于一些不知道学习什么,没有一个系统路线的程序员,这里给大家提供一些学习资料
需要的小伙伴,可以一键三连, 点击这里获取免费领取方式!
内容涵盖:Java基础、JVM、高并发、多线程、分布式、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat、数据库、云计算等
需要的小伙伴,可以一键三连, 点击这里获取免费领取方式!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70000438/viewspace-2788480/ ,如需转载,请注明出处,否则将追究法律责任。