本文根据 Devhints / RESTful API 翻译。代码示例及版本范围沿用原文。原文标注更新日期:2019-07-07。
状态码
| 代码 (Code) | 说明 |
|---|---|
200 OK | GET、PATCH 操作成功(返回 JSON 对象) |
201 Created | POST 操作成功(返回 JSON 对象) |
202 Accepted | POST、DELETE、PATCH 操作成功 —— 异步 |
204 No content | 删除成功 |
206 Partial content | 获取成功 - 异步 |
错误状态
| 代码 (Code) | 说明 |
|---|---|
401 Unauthorized | 未通过身份验证 |
403 Forbidden | 已通过身份验证,但无权限 |
422 Unprocessable entity | 验证 |
错误
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
'id': 'auth_failed',
'message': "You're not logged in."
}
以下是一个可能的错误响应示例。
版本控制
GET /api/foo
Accept: application/json; version=1
您可以传入一个 version=x 到 Accept 请求头中。 相关信息见此处
身份验证
curl -is https://$TOKEN@api.example.com/
方法
| 请求 | 说明 |
|---|---|
GET /articles/1 | 读取 (read),返回 200 |
PUT /articles/1 | 编辑 (edit)(或路径),返回 200 |
DELETE /articles/1 | 删除 (delete),返回 200 |
POST /articles | 创建 (create),返回 201 |
GET /articles | 列出 (list),返回 200 |
参考资料
- interagent/http-api-design (github.com)