rest-framework

drf框架安装

'''
1)-> pip install djangorestframework

2)安装drf插件之后,需要在setting注册
	import rest_framework
'''

接口

接口:规定了提交请求参数的请求方式,访问其可以获取响应的反馈数据的url链接

web api接口四大特点:

url : 长得像返回数据的url链接

请求方式 : get , post , put , patch , delete

请求参数 : json或xml格式的key-value类型数据

​ ak :

​ region:

​ query:

​ output:

**响应结果 ** : json或xml格式的数据

​ 后台与数据库交互后,将数据返回给前台

​ output参数值决定响应数据的格式

Postman

Postman是一款可视化的接口调试工具,同时支持各种操作系统平台,是测试接口的首选工具

官网:https://www.getpostman.com/downloads/

restful接口规范

URL设计

数据的安全保障 : url一般都采用https协议进行传输

接口特征表现 : 接口是用来操作数据,与网址(操作页面)有区别,所以用特定的关键字表示接口

​ api关键字

https://api.baidu.com

https://www.baidu.com/api

多数据版本共存 : 在url链接中标识数据版本

'''
https://api.baidu.com/v1/books/
https://api.baidu.com/v2/books/
一般用特定符号来兼容多版本共存,url链接中的v1和v2就是不同数据版本的体现
(只有在一种数据资源有多版本的情况下)
'''

数据即资源 : 接口一般都是完成前后台数据的交互,交互的数据称之为资源

'''
常规资源接口:
	- https://api.baidu.com/books/
	- https://api.baidu.com/books/(pk)/
	
特殊接口资源:
	特殊的接口资源,会出现一些动词,因为这些借口一般没有一个明确的资源,或是动词就是接口的核心含义
	- https://api.baidu.com/login/
	- https://api.baidu.com/place/search/
'''

群资源操作 : 额外的限制条件,如:排序,限制调试 , 分页等

- https://api.baidu.com/v1/books/?ordering=-price&limit=3

资源的请求方式 : 操作资源一般都会涉及到增删改查

'''
get : 获取单个或多个资源
	- https://api.baidu.com/books/
		群查,返回多个结果对象
	- https://api.baidu.com/books/(pk)/
		单查,返回单个结果对象
		
post : 新增单个或多个资源
	- https://api.baidu.com/books/
	单增:提交单个数据字典,完成单增,返回单个结果对象
	群增:提供多个数据字典的数组,完成群增,返回多个结果对象

put : 整体修改单个或多个资源
	- https://api.baidu.com/books/
	整体修改多个,提供多个数据字典的数组(数据字典中要包含主键),完成群改,返回多个结果对象
	- https://api.baidu.com/books/(pk)/
	整体修改单个,提供单个数据字典(主键在url中体现),完成单改,返回单个结果对象
	
patch : 局部修改单个或多个资源
	方式与put完全相同
	不同的是:操作的资源如果有5个key-value键值对,put请求提供的字典必须全包含,但是patch提供的字典包含的键值对0-5个都可以
	
delete : 删除单个或多个资源
	- https://api.baidu.com/books/
	多个删除,提供多个资源主键数据,完成群删,不做任何资源返回
	- https://api.baidu.com/books/(pk)/
	单个删除,不需要提供额外数据,完成单个删除,不做任何资源返回
'''

响应状态码

网络状态码

响应对象中要包含网络状态码(网络状态信息和网络状态码捆绑出现,不需要额外设置)

'''
1xx : 基本信息
2xx : 200 常规请求
	  201 创建成功
3xx : 301 永久定向
	  302 暂时重定向
4xx : 403 请求无权限
	  404 请求路径不存在
	  405 请求方法不存在
5xx : 500 服务器异常
'''

数据状态码

一般都是前后台约定规则

'''
0:成功
1:失败 - 1xx:具体失败信息(要在接口文档中明确写出)
2:无数据 - 2xx:具体无数据信息(要在接口文档中明确写出)
'''

返回数据结果

'''
数据结果(常量、数组、字典),如果有子资源(图片、音频、视频),返回资源的url链接
	{
    		"status": 0,
    		"msg": 'ok',
    		"results": [{
    			"name": "西游记",
    			"img": 		"https://api.baidu.com/media/book/xyj.png"
    		}]
		}
'''

CBV生命周期

posted @ 2019-12-24 21:32  simple123  阅读(293)  评论(0编辑  收藏  举报