01.什么是RESTful风格
详情查看博客地址:https://www.cnblogs.com/xiaonq/p/10053234.html
1.1 什么是RESTful
- REST与技术无关,代表的是
一种软件架构风格
(REST是Representational State Transfer的简称,中文翻译为“表征状态转移”)
- REST从资源的角度类审视整个网络,它将分布在网络中某个节点的
资源通过URL进行标识
- 所有的数据,不过是通过网络获取的还是
操作(增删改查)
的数据,都是资源,将一切数据视为资源是REST区别与其他架构风格的最本质属性
- 对于REST这种面向资源的架构风格,有人提出一种全新的结构理念,即:面向资源架构(ROA:Resource Oriented Architecture)
1.2 web开发本质
- 对数据库中的表进行增删改查操作
- Restful风格就是把所有数据都当做资源,对表的操作就是对资源操作
- 在url同通过 资源名称来指定资源
- 通过 get/post/put/delete/patch 对资源的操作
02.RESTful设计规范
2.1 URL路径
面向资源编程
: 路径,视网络上任何东西都是资源,均使用名词表示(可复数),不要使用动词
1 2 3 4 5 6 7 8 9
| /getProducts /listOrders
GET /products POST /products GET /products/4 PUT /products/4
|
2.2 请求方式
- 访问同一个URL地址,采用不同的请求方式,代表要执行不同的操作
- 常用的HTTP请求方式有如下四种:
请求方式 |
说明 |
GET |
获取资源数据(单个或多个) |
POST |
新增资源数据 |
PUT |
修改资源数据 |
DELETE |
删除资源数据 |
1 2 3 4 5
| GET /books POST /books GET /books/<id>/ PUT /books/<id>/ DELETE /books/<id>/
|
2.3 过滤信息
过滤,分页,排序
:通过在url上传参的形式传递搜索条件
- 常见的参数:
1 2 3 4
| ?limit=10 ?offset=10 ?page=2&pagesize=100 ?sortby=name&order=asc
|
2.4 响应状态码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| '''1. 2XX请求成功'''
'''3. 4XX客户端错误'''
'''4. 5XX服务端错误'''
更多状态码参考:https://www.runoob.com/http/http-status-codes.html
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| '''1. 2XX请求成功'''
'''2. 3XX重定向'''
'''3. 4XX客户端错误'''
'''4. 5XX服务端错误'''
更多状态码参考:https://www.runoob.com/http/http-status-codes.html
|
__END__