它是基于Django的,帮助我们快速开发符合RESTful规范的接口框架。
DRF (Django REST Framework)
是一套基于Django开发的Django工具包,依赖python和Django,用于在Web后台构建Restful接口
pip install djangorestframework
在setting.py里配置
创建一个serializer.py文件,导入包 from rest_framework.serializers import ModelSerializer
REST
什么是RESTFUL:
REST与技术无关,代表的是一种软件架构风格
REST从资源的角度审视审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识
所有的数据,无论是通过网络获取的还是操作(增删改查)的数据,都是资源。将一切数据视为资源是 REST区别于其他架构风格的最本质的属性。
每一个URL代表一种资源
客户端和服务器之间,传递这种资源的某种表现层;
客户端通过HTTP动词对服务器端资源进行操作,实现“表现层状态转化”(GET,POST,PUT,DELETE)
REST指的是一组架构约束条件和原则。 满足这些约束条件和原则的应用程序或设计就是 RESTful
1.使用https协议
2.路径
路径又称“终点”,表示API的具体网址,每个网址代表一种资源
1) 资源作为网址,只能有名词,不能有动词,而且所用的名词往往与数据库的表名对应。
2)API中的名词应该使用复数。无论子资源或者所有资源。
3.将API版本号加到地址后边
https://api.example.com/v1/
4.方式
GET :从服务器取出资源(一项或多项)
POST :在服务器新建一个资源
PUT :在服务器更新资源(客户端提供改变的完整资源)
PATCH :在服务器更新资源(客户端提供改变的属性)
DELETE :从服务器删除资源
5.状态码跟http状态码一致
6.过滤
通过在url上传参的形式传递搜索条件
7.状态码
200 OK 请求已成功
201 资源已创建
301 永久重定向
302 临时重定向
400 语义有误,当前请求无法被服务器理解,请求参数错误
405 请求方法不对
404 URL地址不对
500 服务端内部错误
8.返回结果
针对不同操作,服务器向用户返回的结果应该符合以下规范。
GET /collection:返回资源对象的列表(数组)
GET /collection/resource:返回单个资源对象
POST /collection:返回新生成的资源对象
PUT /collection/resource:返回完整的资源对象
PATCH /collection/resource:返回完整的资源对象
DELETE /collection/resource:返回一个空文档
9.过滤