开发者学堂课程【SpringBoot快速掌握 - 核心技术:【实验】-Restful实验要求】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/612/detail/9249
【实验】-Restful实验要求
内容介绍
一、内容回顾
二、CRUD-员工列表
一、内容回顾
前边完成了登录名,打开 localhost:8080/crud/ 页面,输入任意用户名:admin ,加上密码 123456 ,登录进来。首先看到的就是主面板界面。如图:
接下来就完成 Restful CRUD 的一个员工列表。
二、CRUD-员工列表
1、实验要求
(1) RestfulCRUD : CRUD 满足 Rest 风格;
(2) URI :资源名称/资源标识
HTTP 请求方式区分对资源 CRUD 操作
RestfulCRUD 和 普通 CRUD 的区别,画一个表格说明:
|
普通CRUD ( URI来区分操作) |
RestfulCRUD |
查询 |
getEmp |
emp…GET |
添加 |
addEmp?xxx(员工信息等) |
emp…POST |
修改 |
updateEmp?id=xxx&xxx=xx |
emp/{id}…PUT |
删除 |
deleteEmp?id=1 |
emp/{id}…DELETE |
这是普通 CRUD 和 RestfulCRUD ,主要在 URI 地址上有区别。
比如以前普通的 CRUD ,查询一个员工,可能叫 getEmp ,这些都是用 URI 的方式来区别,做什么操作用 URI 来区分操作。要查询,就发 getEmp 请求。然后,如果是 RestfulCRUD 查询,希望发送的就是 emp 请求,只不过这是以 GET 方式发的请求。
如果是添加,以前可能是 addEmp ,带上员工的一些信息等等。RestfulCRUD 的添加,也是发 emp ,总是发 emp 资源名称,然后操作资源名称,添加希望用 POST ,代表这是一次添加请求。
如果是修改,以前是加 updateEmp ,带上员工的信息,比如 ID 等于多少,包括员工一些其他值等等。现在 RestfulCRUD 希望发的还是 emp 请求,只不过它是以 PUT 的方式发送的请求。用请求方式来区分不同的操作。当然,如果要修改哪个员工,可以带上员工标识。员工标识放在路径变量上,就是这样的方式 emp/{id}…PUT 。
还有一个删除操作。如果是以前叫 deleteEmp ,而 ID 等于1,都是以路径的方式区分当时的操作。如果是现在的删除,还希望是 emp ,要删除哪个员工,带上员工的标识 ID ,但是,是以 delete 的方式,在 HTTP 请求方式里边用 delete 进行。这就是用 emp/{id}…DELETE 来进行删除操作。
这就是 RestfulCRUD 。
2、实验的请求架构
以表格说明:
|
请求URI |
请求方式 |
查询所有员工 |
emps |
GET |
查询某个员工(来到修改页面) |
emp/{id} |
GET |
来到添加页面 |
emp |
GET |
添加员工 |
emp |
POST |
来到修改页面(查出员工进行信息回显) |
emp/{id} |
GET |
修改员工 |
emp |
PUT |
删除员工 |
emp/{id} |
DELETE |
这个请求架构的请求路径 URI 以及请求的方式。
首先是查询所有员工。发送 emps 请求,这是查询所有员工以 GET 方式来查询所有的。
如果是某个单个的员工,还是发 emp 请求,要查询哪个员工,把 id 放在路径上,把 emp/{id} 称为路径变量,还是以 GET 的方式。
用了 RestfulCRUD ,请求的 URI 看起来很清爽,都是用请求方式来区分。
当然,还有添加,添加可能要先来到添加页面,点一个添加按钮来到添加页面,发送 emp 请求来到添加页面,用 GET 的方式过来。
在添加页面,输入完添加员工的信息后,再来添加员工,发送 emp 请求,但是添加是用 POST 的方式添加过来。
修改也是一样,先是来到修改页面,其实就是要修改哪个员工需要先查询出来,查出来后进行信息回显,还是发送 emp 请求,但是查询某个员工还是以 GET 方式进行。查询某个员工其实就是来到修改页面的操作。
当来到修改页面,员工信息都回显出来,把员工信息填完真正要修改的时候,还是 emp 请求,但是这是以 PUT 的方式进行修改。
URI 风格看起来依然很清爽。
删除员工。删除完后还会来到员工列表页面,也就是查询所有员工,删除就发 emp 请求,要删哪个员工还是员工的标识{ id },就是资源标识。
资源名称 emp 加资源标识{ id }。比如,查询的是1号员工,最终发请求就是1,将{ id }替换成1,就换成:emp/1,这最终都是路径变量的方式,只是以 delete 方式来发送请求。