1.Django-Rest-Framework入门规范


# 10条规范 1.数据的安全保障
url链接一般都采用https协议进行传输
采用https协议,可以提供数据交互过程中的安全性 2.接口特征表现
用api关键字标识接口url
看到api,就代表该请求url链接是完成前后端数据交互
例如: https://www.baidu.com/api or https://api.baidu.com 3.多数据版本共存
在url链接中标名数据版本
例如: https://api.baidu.com/v1 or https://api.baidu.com/v2
链接中的v1、v2就是不同数据版本的体现,可以更好兼容新老版本客户端 4.数据即资源,均使用名词(可负数)
接口一般都是完成前后端端数据交互,交互的数据我们称之为资源
一般提倡使用资源的复数形式,可以让访问信息更直观,尽量不要出现操作资源的动词
例如:https://api.baidu.com/book or https://api.baidu.com/books
#错误示范
例如:hppts://api.baidu.com/get_book or https://api.baidu.com/delete-user
#特殊接口
特殊的接口可以出现动词,因为这些接口一般没有一个明确资源,或者动词就是接口的核心含义
例如:https://api.baidu.com/login or https://api.baidu.com/place/search 5.资源操作由请求方式决定(method)
操作资源一般都会涉及到增删改查,我们提供请求方式来标识增删改查动作
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 - patch请求:局部修改主键为1的书
https://api.baidu.com/books/1 - delete请求:删除主键为1的书 6.过滤-通过在url上传参的形式传递搜索条件
https://api.example.com/v1/zoos?limit=10:指定返回记录的数量
https://api.example.com/v1/zoos?offset=10:指定返回记录的开始位置
https://api.example.com/v1/zoos?page=2&per_page=100:指定第几页,以及每页的记录数
https://api.example.com/v1/zoos?sortby=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序
https://api.example.com/v1/zoos?animal_type_id=1:指定筛选条件 7.响应状态码-通过状态码来判断响应
1.正常响应-状态码2xx
200:常规请求
201:创建成功
2.重定向响应-状态码3xx
301:永久重定向
302:临时重定向
3.客户端异常-状态码4xx
403:请求无权限
404:请求路径不存在
405:请求方法不存在
4.服务器异常-状态码5xx
500:服务器异常 8.错误处理
应返回错误信息,error当做key
{'error':'参数错误'} 9.返回结果,针对不同的操作,服务器向用户返回的结果应该符合以下规范
GET /collection:返回资源对象的列表(数组)
GET /collection/resource:返回单个资源对象
POST /collection:返回新生成的资源对象
PUT /collection/resource:返回完整的资源对象
PATCH /collection/resource:返回完整的资源对象
DELETE /collection/resource:返回一个空文档 10.需要url请求的资源需要带请求链接
例如:{
'info':user,
'img':'https://img.png'
}
1.安装: pip3 install djangorestframework 2.settings注册app
INSTALLED_APPS = [
'rest_framework',
]
1.Django-Rest-Framework入门规范的更多相关文章
- django rest framework 入门
django rest framework 入门1-序列化 Serialization 分类: Python 2013-01-22 22:24 11528人阅读 评论(0) 收藏 举报 djangop ...
- django rest framework restful 规范
内容回顾: . django请求生命周期 -> 执行遵循wsgi协议的模块(socket服务端) -> 中间件(路由匹配) -> 视图函数(业务处理:ORM.模板渲染) -> ...
- Django REST framework入门 (转自中文文档)
快速入门 我们将创建一个简单的允许管理员用户查看和编辑系统中的用户和组的API. 项目设置 创建一个名为 tutorial 的新django项目,然后启动一个名为 quickstart 的新app. ...
- 121、Django rest framework入门使用
框架介绍 为你的django平台通过model生成对应的restfull api,并可以通过对应的http接口来进行 post .get.put.delete等操作.本文是也并非入门级别,不会带你去了 ...
- Django REST framework快速入门指南
项目设置 创建一个名为tutorial的新Django项目,然后开始一个名为quickstart的新应用程序. # Create the project directory mkdir tutoria ...
- day71:drf:API接口&Restful API规范&Django Rest Framework&drf中的序列化和反序列化功能
目录 1.web应用模式 2.API接口 3.Restful API规范 4.序列化 5.Django Rest Framework 1.drf的简单介绍 2.drf的特点 3.如何安装drf 4.d ...
- Django REST Framework简单入门(一)
Django REST Framework(简称DRF),是一个用于构建Web API的强大且灵活的工具包. REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的. ...
- Django REST framework快速入门(官方文档翻译翻译)
开始 我们将创建一个简单的API来允许管理员用户查看和编辑系统中的用户和组. 项目设置 创建一个新的django项目,命名为:<tutorial>,然后创建一个新的应用程序(app),命名 ...
- Django REST framework完全入门
Django REST framework 一个强大灵活的Django工具包,提供了便捷的 REST API 开发框架 我们用传统的django也可以实现REST风格的api,但是顶不住Django ...
- 用Django Rest Framework和AngularJS开始你的项目
Reference: http://blog.csdn.net/seele52/article/details/14105445 译序:虽然本文号称是"hello world式的教程&quo ...
随机推荐
- 花一分钟体验 Apache DolphinScheduler 第一个官方 Docker 镜像
先前Apache DolphinScheduler 社区一直是发布 Dockerfile 和 K8s Chart.yaml 文件,由用户自行 build 镜像.随着越来越多的用户伙伴们的呼声高涨,社区 ...
- Apache DolphinScheduler 1.2.0 使用文档(1/8):架构及名词解释
本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 1. 架构及名词解释 1.1 DolphinSched ...
- 快速掌握 Base 64 | 学 Java 密码系列
Java 密码系列 - Java 和 JS Base 64 Base 64 不属于密码技术,仅是编码方式.但由于在 Java.JavaScript.区块链等出现的频率较高,故在本系列文章中首先分享 B ...
- 使用VS Code 搭建 platformio 平台
一.需要的资源网站 arduino GitHub:https://github.com/arduino espressif GitHub:https://github.com/espressif pl ...
- 【Traefik二次开发】服务 Service 开发
Service 定义 https://doc.traefik.io/traefik/routing/services/ The Services are responsible for configu ...
- LIKE与等式查询比较
我们知道 char 是定长类型的数据,如果数据长度小于定义的长度,会在字符串尾部加上空格.而对于空格的处理,对于等式匹配,或length等,会忽略空格.而对于like 或模式匹配,空格不能忽略. 一. ...
- mysql explain总结
Explain 包含字段 id select_type table type possible_keys key key_len ref rows extra 字段解释 1. id id 相同则执行顺 ...
- 《Java基础——数组的定义与使用》
Java基础--数组的定义与使用 一. 一维数组: 格式一: 数组类型 数组变量[]=new 数据类型[长度]; //需要后续赋值,且后续赋值时只能为单个元素赋值. 或 数组类型 数组变量 ...
- G&GH04 本地连接至远程
注意事项与声明 平台: Windows 10 作者: JamesNULLiu 邮箱: jamesnulliu@outlook.com 博客: https://www.cnblogs.com/james ...
- 以TrueType为例谈字形描述
以TrueType为例谈字形描述 作者:哲思 时间:2022.9.17 邮箱:zhe__si@163.com GitHub:zhe-si (哲思) (github.com) 一.前言 在深入理解&qu ...