Django REST framework 简介

  1. 在序列化与反序列化时,虽然操做的数据不尽相同,可是执行的过程倒是类似的,也就是说这部分代码是能够复用简化编写的。
  2. 在开发REST API的视图中,虽然每一个视图具体操做的数据不一样,但增、删、改、查的实现流程基本套路化,因此这部分代码也是能够复用简化编写的:
    • 增:校验请求数据 -> 执行反序列化过程 -> 保存数据库 -> 将保存的对象序列化并返回
    • 删:判断要删除的数据是否存在 -> 执行数据库删除
    • 改:判断要修改的数据是否存在 -> 校验请求的数据 -> 执行反序列化过程 -> 保存数据库 -> 将保存的对象序列化并返回
    • 查:查询数据库 -> 将数据序列化并返回

Django REST framework能够帮助咱们简化上述两部分的代码编写,大大提升REST API的开发速度

Django REST framework 框架是一个用于构建Web API 的强大而又灵活的工具。一般简称为DRF框架 或 REST framework。css

DRF框架是创建在Django框架基础之上web

特色

  • 提供了定义序列化器Serializer的方法,能够快速根据 Django ORM 或者其它库自动序列化/反序列化;
  • 提供了丰富的类视图、Mixin扩展类,简化视图的编写;
  • 丰富的定制层级:函数视图、类视图、视图集合到自动生成 API,知足各类须要;
  • 多种身份认证和权限认证方式的支持;
  • 内置了限流系统;
  • 直观的 API web 界面;
  • 可扩展性,插件丰富

REST是一种标准,restful是一种规范,根据产品需求须要定出一份方便先后端的规范,所以不是全部的标准要求都须要遵循数据库

restful规范:编程

首先restful是一种软件架构风格或者说是一种设计风格,并非标准,它只是提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。     
就像设计模式同样,并非必定要遵循这些原则,而是基于这个风格设计的软件能够更简洁,更有层次,咱们能够根据开发的实际状况,作相应的改变。
它里面提到了一些规范,例如:
1.restful 提倡面向资源编程,在url接口中尽可能要使用名词,不要使用动词             
二、在url接口中推荐使用Https协议,让网络接口更加安全
https://www.bootcss.com/v1/mycss?page=3
(Https是Http的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,
所以加密的详细内容就须要SSL(安全套接层协议))                          
三、在url中能够体现版本号
https://v1.bootcss.com/mycss
不一样的版本能够有不一样的接口,使其更加简洁,清晰             
四、url中能够体现是不是API接口
https://www.bootcss.com/api/mycss            
五、url中能够添加条件去筛选匹配
https://www.bootcss.com/v1/mycss?page=3             
六、能够根据Http不一样的method,进行不一样的资源操做
(5种方法:GET / POST / PUT / DELETE / PATCH)             
七、响应式应该设置状态码
八、有返回值,并且格式为统一的json格式             
九、返回错误信息
返回值携带错误信息             
十、返回结果中要提供帮助连接,即API最好作到Hypermedia
若是遇到须要跳转的状况 携带调转接口的URLjson

  ret = {
code: 1000,
data:{
id:1,
name:'小强',
depart_id:http://www.luffycity.com/api/v1/depart/8/
}
}
View Code
相关文章
相关标签/搜索