DRF 架构之美
- 简单易用,既然可以使用自动的 CRUD API,也可以自定义实现API
- 提供可浏览的 HTML API; 一套实现同时提供 HTML/JSON/XML 展现
- 灵活的用户认证,支持 Token/OAuth/OAuth2/JWT 等认证方式
- 提供流量控制,结果过滤筛选,分页,API 版本控制能力
- 灵活的权限控制:登陆用户,管理员,Django内置权限,只读权限,匿名用户
REST 是一个基于 HTTP 资源 如 GET / HEAD / POST / PUT / DELETE 的架构模型。
Django Rest Framework
Restful 的5个基本原则
- 给每个实体一个唯一标识
- 把实体链接到一期
- 使用标准的方法
- 支持多种表达方式/展现方式 (CRF 可以渲染出 JSON, LaTEx, CSV,XML 不同格式)
- 无状态
Rest 不是 JSON 协议的 API;
Restful API 的三个概念
Actions:定义的操作,发送到 API 的动作 GET/POST/PUT/PATCH/DELETE
Resources:资源,对应到数据,数据集,序列化的 model
Representations:
Restful API 把 CRUD 增删改查操作映射到 HTTP URL 的策略
GET /users # 返回用户列表
GET /users/
POST /users # 创建一个新用户
PUT /users/
PATCH /users/
DELETE /users/
为了一致性和便于阅读,URL 路径名应该是复数的。Restful API 的这些操作可以自动生成。