DRF restful规范
1 数据的安全保障
url链接一般都采用https协议进行传输
注:采用https协议,可以提高数据交互过程中的安全性
2 url地址中带接口标识
-https://api.baidu.com
-https://www.baidu.com/api/
3 url中带版本标识
接口有版本
https://api.baidu.com/v1/login
https://api.baidu.com/v2/login
4 数据即是资源,均使用名词(可复数)
-以后所有接口路径中,尽量不出现动词
-接口一般都是完成前后台数据的交互,交互的数据我们称之为资源
https://api.baidu.com/v1/users
https://api.baidu.com/v1/books
https://api.baidu.com/v1/books/3
5 请求方式决定如何操作资源
【增,删,改,查】
https://api.baidu.com/books - get请求:获取所有书
https://api.baidu.com/books/1 - get请求:获取主键为1的书
https://api.baidu.com/books - post请求:新增一本书
https://api.baidu.com/books/1 - put请求:整体修改主键为1的书
https://api.baidu.com/books/1 - delete请求:删除主键为1的书
6 url中带搜索条件
https://api.example.com/v1/goods?name=鸡公煲:指定返回搜索的数据
7 响应中带状态码
-http响应状态码
-1xx :请求正在处理 --》客户端看不到
-2xx :正常响应---》经常看到 200:请求成功 201:创建成功
-3xx :重定向---》偶尔看到 301 和 302
-4xx :客户端异常---》403: 404
-5xx: 服务端错误 500
-http状态码有非常多,暂时先不用记,后面再说:
https://www.sohu.com/a/278045231_120014184
-自定制状态码
-mysql--》连接连不上--》有个数字:错误码 有个错误描述
-自己定制:
1000
0
1
1001
8 响应中带信息描述(错误,正常)
-message
-msg
{code:1000,msg:成功}
9 针对不同操作符合以下规范
GET /collection:返回资源对象的列表(数组)
{code:100,msg:成功,results:[{},{},{}]}
GET /collection/resource:返回单个资源对象 {}
{code:100,msg:成功,result:{}}
POST /collection:返回新生成的资源对象 {}
PUT /collection/resource:返回完整的资源对象 {}
DELETE /collection/resource:返回一个空文档
{code:100,msg:删除成功}