• 1.restful 规范与APIView


    drf 框架初识

    restful 规范

    定义:它是一种规范,面向资源架构

    10条规范:

    '''
    主要部分:	路径都用名词表示,请求方式不同,表示不同操作
    	1.路径,视网络上的任何东西都是资源,均使用名词表示(可以为复数)、
    	--127.0.0.1/books/
    	
    	2.method,通过请求方式来表示进行的操作
    	--127.0.0.1/books/	get请求:表示获取所有图书  | --127.0.0.1/books/1  get请求:表示获取id为1的图书
    	--127.0.0.1/books/	post请求:表示新增一本书
    	--127.0.0.1/books/	delete请求:表示删除一本书
    	--127.0.0.1/books/	put/patch请求:表示修改一本书
    '''
    
    '''
    1.API与用户的通信协议,总是使用HTTPs协议  ----> 密文
    2.域名
    	https://api.example.com :尽量将API部署在专用域名(会存在跨域问题)
    	https://example.org/api/:API很简单(推荐)
    3.版本
    	-https://api.example.com/v1/
    	-把版本号放在请求头中			----> 功能更新需要另起版本
    4.过滤,通过在url上传参的形式传递搜索条件
    5.状态码
    	1 开头:服务器正在处理
    	2 开头:服务器处理成功
    	3 开头:重定向
    	4 开头:客户端错误
    	5 开头:服务器错误
    	-注意:在返回的数据中携带状态码
    6.错误处理,应返回错误信息,error当做key
    7.返回结果针对不同操作,返回数据格式要求
    8.返回结果中提供链接
    '''
    

    CBV (View) 的源码执行流程

    '''
    --路由:url(r'^books/',views.Books.as_view()),
    --当程序启动,第二个位置已经放入一个函数的内存地址(as_view内部view这个函数)
    --当来了 get 请求,拿到第二个位置参数内存地址加括号执行(request,*args,**kwargs),其实就是					view(request,*args,**kwargs)
    --本质就是执行了dispatch(request,*args,**kwargs)方法
    --dispatch方法内部通过请求方式(get,post),反射出要执行的方法,去执行,然后返回
    '''
    

    drf 框架的安装和简单使用

    '''
    drf: djangorestframework, 在原来 django 框架的基础上多做了一些事
    安装:pip3 install djangorestframework
    本质上是app,需要在 settings中配置 INSTALLED_APPS=['rest_framework',]
    只要用drf,以后写的都是cbv
    drf提供:
    	序列化组件
    	视图组件
    	解析器
    	认证组件
    	权限组件
    	频率组件
    	分页器
    	响应器
    	url控制器 
    	版本控制
    '''
    

    APIView的源码执行流程

    '''
    -get请求,执行 View 的 as_view 方法内部的 view 闭包函数,view闭包函数中执行了 dispacth 方法,
    -现在再执行dispatch,就已经不是 View 的 dispatch,而是 APIView 的 dispatch 方法
    '''
    '''
    补充:
    	装饰器其实就是一个函数
    	urlencode编码
    	formdata编码
    	json编码:request.POST是没有值,只能从body中取出,直接处理
    	-urlencode和formdata编码,request.POST
    '''
    

    编码
    json编码:request.POST是没有值,只能从body中取出,直接处理
    -urlencode和formdata编码,request.POST
    ‘’’

    
    
    
    
  • 相关阅读:
    数据结构-串的堆分配存储
    ServerSocket
    Java-坦克大战
    Java-输入输出流
    MyEclipse 快捷键
    数据结构-串的定长顺序存储
    我的软考资料集合
    软考中级软件设计师考试大纲
    2016年第一季度阅读书目
    中国大陆开源镜像网站汇总
  • 原文地址:https://www.cnblogs.com/-min/p/12833238.html
Copyright © 2020-2023  润新知