目录
- Restful风格
- 创建springboot项目
- SpringMVC开发Restful接口
- 1、获取所有的员工
- 思路
- 代码
- @RequestMapping
- @GetMapping
- 2、获取单个员工
- 思路
- 代码
- 注意:
- 3、删除员工数据
- 思路:
- 代码
- 单个删除
- 批量删除
- 4、更新员工数据
- 思路:
- 5、jQuery发送请求
- 发送delete请求
- 发送get请求
- 发送put请求
- 6、响应状态码修改
- 7、@RequestMapping
- params
- params有 = 和 != 的判断
- headers
Restful风格
创建springboot项目
SpringMVC开发Restful接口
需求:用【restful】接口
1、获取所有的员工
思路
-设计资源路径 uri /employees
-设计请求动作 get
-设计请求参数(业务) 无
-设计返回结果json List<Employee>
代码
创建个员工类 Employee
使用Postman测试:
两个路径相同就会报错
如图可以在postman选择get的方式访问,不会报错是因为路径只有一个get
@RequestMapping
@GetMapping
2、获取单个员工
思路
1、设计资源路径 /employees/{id} {id}叫做路径占位符
2、设计请求动作 get
3、设计请求参数(业务) 接收id(id来自路径里面,?前面)
之前的 js 是来自 (localhost/employees?id = xxx) ?问号之后的
现在是 localhost/employees/id = xxx
4、设计返回结果json employee
代码
@PathVariable 告诉springmvc 去路径上找当前名称的参数,对应的占位符的位置,
把参数值设置到形参上
有贴@PathVariable这个注解才有值,没贴的话默认是从 路径的?问号后面找id参数,就会是null
这种 http://localhost:8080/employees/211 类型的传参就是RestFul风格
跟之前的区别就是一个是路径传参(Restful风格),一个是?id=1,这种问号后面传参(旧方式)
没贴@PathVariable注解
注意:
不一致,如图
参数和路径名称不一致时的获取数据的方法。
有多个参数的话,有几个名称不一样的,就要贴几个这个注解
也可以在工具里面测试
3、删除员工数据
思路:
设计资源路径 uri /employees/{id} 路径占位符
设计请求动作 delete
设计请求参数(业务) 接收id(来自路径里面,?前面)
设计返回结果 json void 按官方文档,返回的是空文档
代码
单个删除
批量删除
4、更新员工数据
思路:
设计资源路径 uri /employees/{id} 路径占位符
设计请求动作 put
设计请求参数(业务) 接收id(来自路径里面,?前面),其余参数可以来自body请求体
设计返回结果 json Employee
5、jQuery发送请求
发送delete请求
发送get请求
这个【发送delete删除请求】没改动,证明只改动了type这个发送类型,就能根据发送类型和路径上的参数找到对应的方法
发送put请求
这个【发送delete删除请求】没改动,证明只改动了type这个发送类型,就能根据发送类型和路径上的参数找到对应的方法
6、响应状态码修改
比如删除成功后,我想让系统响应的状态码为 204,表示返回的内容为空的意思
成功修改成204的响应状态码
7、@RequestMapping
params
注解带上这个参数,那么在访问该方法的时候,就要带上这个参数
比如两个同样是delete的方法,都是要id作为参数,如果没有这个params作为区别的话,连编译都编译不了
删除多个
删除一个
params有 = 和 != 的判断
参数条件满足多个方法,直接报错
headers