1.Django-Rest-Framework入门规范

一、WEB应用模式   1.前后端不分离 前后端混合开发(前后端不分离),返回的是html的内容,需要渲染页面,写模版 1.Django-Rest-Framework入门规范 2.前后端分离 专注于后端接口,返回json、xml格式的数据   1.Django-Rest-Framework入门规范   二、API接口 定义:通过网络规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介 WebApi接口四大特点: 1.返回数据的url链接 2.请求方式:get、post、put、patch、delete 3.请求参数:json或xml的key-value类型数据 4.响应结果:json或者xml格式的数据   三、restful 规范 REST全称是Representational State Transfer Restful是一种定义web api接口的设计风格 这种风格的理念认为后端开发数据就是提供数据的,对外提供的是数据资源的访问接口,所以在定义接口时,客户端访问的url路径就表示这种要操作的数据资源  
# 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'
   }

 

  四、安装和注册 Django rest framework 框架(简称drf)
1.安装: pip3 install  djangorestframework

2.settings注册app
  INSTALLED_APPS = [
    'rest_framework',
]

 

 

上一篇:netty系列之:搭建客户端使用http1.1的方式连接http2服务器


下一篇:2021.1.4日总结(考研倒计时:354)