Skip to content

Commit 6d02ebc

Browse files
committed
update restful notes
1 parent 414dbe1 commit 6d02ebc

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

Notes/Restful设计风格.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
## 设计注意点
2+
1. 版本,API带上版本信息
3+
2. 路径(Endpoint)使用资源集合进行操作,也即复数形式的资源
4+
3. HTTP动词对应资源的操作方法,常见的有get(查询), post(新建), put(更新单个资源(全量)), patch(更新单个资源(部分)), delete(删除)
5+
4. HTTP返回状态码对应操作结果
6+
5. restful-style设计中的常见问题?
7+
1. 对于用户登录和用户退出这两个业务需求,REST指导下的架构和设计如何满足
8+
2. 批量的删除、修改、新增如何满足
9+
10+
11+
### 常见返回码:
12+
> 200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
13+
> 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
14+
> 202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务)
15+
> 204 NO CONTENT - [DELETE]:用户删除数据成功。
16+
> 400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
17+
> 401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。
18+
> 403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。
19+
> 404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
20+
> 406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
21+
> 410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。
22+
> 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
23+
> 500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。
24+
25+
26+
## ref
27+
1. [RESTful API 设计指南](http://www.ruanyifeng.com/blog/2014/05/restful_api.html)
28+
2. [Restful API 的设计规范](https://novoland.github.io/%E8%AE%BE%E8%AE%A1/2015/08/17/Restful%20API%20%E7%9A%84%E8%AE%BE%E8%AE%A1%E8%A7%84%E8%8C%83.html)
29+
3. [v2ex:我是一个人么,还有人觉得 RESTful 是糟糕的设计么](https://www.v2ex.com/t/111775)
30+
4. [理解本真的REST架构风格](http://www.infoq.com/cn/articles/understanding-restful-style)
31+
5. [RESTful GET,如果存在大量参数,是否有必要变通一下](https://www.zhihu.com/question/36706936)
32+
6. RESTful Web Services Cookbook
33+
7. [WEB开发中,使用JSON-RPC好,还是RESTful API好?](https://www.zhihu.com/question/28570307/answer/47876255)
34+
8. [REST风格的优势是什么?](https://www.zhihu.com/question/33959971)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy