​​​​


首先是REST的一个简单介绍

REST代表Representational State Transfer. 是一种架构风格,设计风格而不是标准,可用于设计Web服务,可以从各种客户端使用。

REST中,资源由URI来指定,对资源的增删改查可以通过HTTP提供的get,post,put,delete方法实现。

使用Rest可以更高效的利用缓存来提高响应速度,同时通信会话状态会由客户端来维护。让不同的服务器处理一系列的请求中的不同请求,提高服务器的扩展性。


1、准备工作

基于REST的基本设计,其是根据一组动词来控制的操作


  • 创建操作:应使用HTTP POST
  • 查询操作:应使用HTTP GET
  • 更新操作:应使用HTTP PUT
  • 删除操作:应使用HTTP DELETE

作为REST服务开发人员或客户端,您应该遵守上述标准。

项目的环境工具


  • SpringBoot 2.0.1.RELEASE
  • Gradle 4.7
  • IDEA 2018.2
  • MySQL5.7

下面是身边很多小伙伴推荐的几套springboot不同版本的视频教程, 视频课程由浅入深,手把手带您学习Spring Boot,体验Spring Boot的极速开发过程,内容丰富,涵盖了SpringBoot开发的方方面面,并且同步更新到Spring 2.x版本,来吧,一次性拿下Spring Boot开发框架。

通视频的学习,全面掌握Spring Boot开发框架技术,并在实际项目开发中得心应手使用Spring Boot框架,提升自身的技术能力与价值。


在线免费观看:

SpringBoot框架从入门到实践视频课程 - Spring Boot - 动力节点在线 (bjpowernode.com)

资料、源码下载:

​​

​​



2、项目结构图

极速开发框架SpringBoot _ 利用SpringBoot创建Rest接口API_spring boot


3.开始

下面基于一种方式讲解Restful

极速开发框架SpringBoot _ 利用SpringBoot创建Rest接口API_github_02

    对于/user/api HTTP GET来请求获取全部用户

    对于/user/api HTTP POST来创建用户

    对于/user/api/1 HTTP GET请求来获取id为1的用户

    对于/user/api/1 HTTP PUT请求来更新

    对于/user/api/1 HTTP DELETE请求来删除id为1的用户

HTTP GET请求/user/api 查询全部

URL:http://localhost:8080/user/api

极速开发框架SpringBoot _ 利用SpringBoot创建Rest接口API_java_03

TTP GET请求/user/api/65 跟据id查询

URL:http://localhost:8080/user/api/65

极速开发框架SpringBoot _ 利用SpringBoot创建Rest接口API_get请求_04

HTTP POST请求/user/api 创建用户

URL:http://localhost:8080/user/api

极速开发框架SpringBoot _ 利用SpringBoot创建Rest接口API_get请求_05

HTTP PUT请求/user/api/65 来更新用户信息

URL:http://localhost:8080/user/api/65

极速开发框架SpringBoot _ 利用SpringBoot创建Rest接口API_github_06

HTTP DELETE请求/user/api/85 来删除id为85的用户

URL:http://localhost:8080/user/api/85

极速开发框架SpringBoot _ 利用SpringBoot创建Rest接口API_get请求_07


4.业务层及dao层代码

UserService.java 接口

极速开发框架SpringBoot _ 利用SpringBoot创建Rest接口API_spring_08

PageResultBean和ResultBean的代码在GitHub

​https://github.com/cuifuan/springboot-demo​

通过上面的编码,如果你已经走通了上面的代码,相信你已经对REST有了大致的掌握,时今当下的前端Client层出不穷,后端接口或许来自不同平台,这时候需要请求一批接口,而RESTful风格的api,使人从请求方式和地址一看就知道是要做什么操作,根据返回code状态就知道结果如何

使用RESTful直接带来的便利:

之前的接口

    删除 /user/delete

    添加 /user/create

    单个查询 /user/queryById

    查询全部 /user/queryAll

    更新 /user/update

采用RESTful设计API之后 /user/api一个URL地址解决,再也不用跟前端废舌头了,同时GET请求是幂等的,什么是幂等?简单通俗的说就是多次请求返回的效果都是相同的,例如GET去请求一个资源,无论请求多少次,都不会对数据造成创建修改等操作,PUT用来更新数据也是,无论执行多次的都是最终一样的效果

极速开发框架SpringBoot _ 利用SpringBoot创建Rest接口API_spring boot_09

因为PUT请求URL到客户端定义的URL处完整地创建或替换资源,所以PUT是幂等的。 DELETE请求也是幂等的,用来删除操作,其实REST就是相当于一个风格规范。

注意了,GET请求请不要用在delete操作上,你要问我为啥不行,你偏要那么做,其实,整个CRUD操作你也都可以用GET来完成,哈哈,这个只是一个开发的设计风格。

最后 Spring Boot是Spring家族下的一个全新开发框架,其设计目的主要是用来简化Spring应用的创建及开发过程,它提供了自动配置,起步依赖等特性,从而使开发人员从大量的XML配置中解脱出来,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。


————————————————

作者Java叶知秋