差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
| public:it:restful [2016/01/22 15:25] – oakfire | public:it:restful [2018/02/28 13:48] (当前版本) – 外部编辑 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== RESTful ====== | ====== RESTful ====== | ||
| + | ===== Tools ===== | ||
| + | * API 接口设计工具: | ||
| + | * :!: swagger editor 工具, 如果 '' | ||
| + | * :!: 还是 swagger editor 工具, mac chrome 下输入汉字会出现字母与汉字齐飞,还未解决。 | ||
| + | * API 接口设计工具: | ||
| + | * API 框架: [[http:// | ||
| + | * API 检测工具:[[https:// | ||
| + | * 数据校验(validation): | ||
| + | * ACL 权限控制参考参考 [[https:// | ||
| + | * 认证 auth: HMAC Auth: [[http:// | ||
| + | ===== Articles ===== | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | ===== Notes ===== | ||
| + | * 在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词; | ||
| ===== 幂等(idempotence) ===== | ===== 幂等(idempotence) ===== | ||
| * [[http:// | * [[http:// | ||
| + | |||
| + | ===== HTTP method 与返回 status code 涵义表 ===== | ||
| + | |||
| + | HTTP verbs 涵义: | ||
| + | * **GET** | ||
| + | * **POST** /tasks - create a new task | ||
| + | * **GET** | ||
| + | * **PUT** | ||
| + | * **PATCH** /task/{id} - update some property of the task by ID | ||
| + | * **DELETE** /task/{id} - delete a task by ID | ||
| + | |||
| + | 通用状态码: | ||
| + | ^ code ^ status ^ 涵义 ^ | ||
| + | | 401 | Unauthorized | 用户没有权限(令牌、用户名、密码错误) | | ||
| + | | 403 | Forbidden | 表示用户得到授权(与401错误相对),但是访问是被禁止的 | | ||
| + | | 404 | NOT FOUND | 用户发出的请求针对的是不存在的记录,服务器没有进行操作 | | ||
| + | | 405 | Method not found | 改资源不支持此方法的操作 | | ||
| + | | 429 | Too Many Requests | 请求过于频繁 | | ||
| + | | 500 | INTERNAL SERVER ERROR | 服务器发生错误,用户将无法判断发出的请求是否成功 | | ||
| + | | 501 | Not Implemented | 接口未实现 | | ||
| + | | 503 | Service Unavailable | 服务器繁忙或维护,稍后再试 | | ||
| + | |||
| + | ^ method ^ 涵义 ^ 安全 ^ 幂等 ^ code ^ status ^ status涵义 ^ | ||
| + | | **GET** | 获取资源 | ✔ | ✔ | 200 | OK | 资源成功获取 | | ||
| + | |::: | ||
| + | |::: | ||
| + | |::: | ||
| + | |::: | ||
| + | | **PUT** | 更新资源 | ✘ | ✔ | 200 | OK | 资源已存在并成功修改 | | ||
| + | |::: | ||
| + | |::: | ||
| + | |::: | ||
| + | |::: | ||
| + | | **POST** | 创建子资源 | ✘ | ✘ | 201 | Created | 资源成功创建 | | ||
| + | |::: | ||
| + | |::: | ||
| + | |::: | ||
| + | |::: | ||
| + | | **DELETE** | 删除资源 | ✘ | ✔ | 204 | NO CONTENT | 用户删除数据成功 | | ||
| + | |::: | ||
| + | |::: | ||
| + | |||
| + | 更多参考 [[https:// | ||
| + | | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||