RESTful API笔记
作者:覃超
链接:https://www.zhihu.com/question/28557115/answer/48094438
来源:知乎
概念
REST – Resource Representational State Transfer 资源在网络中以某种表现形式进行状态转移
Resource :资源,即数据。例如 friends,profile等;
Representational :某种表现形式,例如JSON,XML,JPEG等;
State Transfer :状态变化。通过HTTP动词实现。
一言以蔽之:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。
规则
URL中只使用名词来指定资源,原则上不使用动词。
Server和Client之间传递某资源的一个表现形式,比如用JSON,XML传输文本,或者用JPG,WebP传输图片等。当然还可以压缩HTTP传输时的数据(On-wire data compression)。
用 HTTP Status Code传递Server的状态信息。例如最常用的 200 表示成功,500 表示Server内部错误等。
示例
1 | # 获取某人的好友列表 |
1 | # 获取某人的详细信息 |
用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态变化:
1 | # 删除某人的好友 |
1 | # 添加好友 |
1 | # 更新个人资料 |
如下使用不符合规范:
1 | GET /v1/deleteFriend |