RESTful API笔记
Xayah Lv3

作者:覃超
链接:https://www.zhihu.com/question/28557115/answer/48094438
来源:知乎

概念

RESTResource Representational State Transfer 资源网络中以某种表现形式进行状态转移

Resource 资源,即数据。例如 friendsprofile等;

Representational :某种表现形式,例如JSONXMLJPEG等;

State Transfer 状态变化。通过HTTP动词实现。

一言以蔽之:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

规则

  1. URL中只使用名词来指定资源,原则上不使用动词

  2. ServerClient之间传递某资源的一个表现形式,比如用JSONXML传输文本,或者用JPGWebP传输图片等。当然还可以压缩HTTP传输时的数据(On-wire data compression)

  3. HTTP Status Code传递Server状态信息。例如最常用的 200 表示成功500 表示Server内部错误等。

    image

示例

1
2
# 获取某人的好友列表
/v1/friends
1
2
# 获取某人的详细信息
/v1/profile

HTTP协议里的动词来实现资源添加修改删除操作。即通过HTTP动词来实现资源状态变化

1
2
# 删除某人的好友
DELETE /v1/friends
1
2
# 添加好友
POST /v1/friends
1
2
# 更新个人资料
UPDATE /v1/profile

如下使用不符合规范:

1
GET /v1/deleteFriend
由 Hexo 驱动 & 主题 Keep
本站由 提供部署服务
总字数 42.3k 访客数 访问量