1 CBV源码分析(cbv和fbv)

1 在views中写一个类,继承View,里面写get方法,post方法
2 在路由中配置: url(r'^test/', views.Test.as_view()),实际上第二个参数位置,放的还是一个函数内存地址
3 当请求来了,就会执行第二个参数(request,参数),本质上执行view()
4 view内部调用了dispatch()方法
5 dispatch分发方法,根据请求方式不同,执行的方法不同

2 resful规范(10个规范)

-面向资源架构,面向资源编程
-10个规范
-与后台做交互,通常使用https
-域名:
  -https://api.baidu.com(存在跨域问题)
  -https://www.baidu.com/api/
-版本
  -https://www.baidu.com/api/v1
  -https://www.baidu.com/api/v2
-路径,视网络上任何东西都是资源,均使用名词表示(可复数)
  -https://api.example.com/v1/books
  不是:https://api.example.com/v1/delete_one_book
-method来表示增删查改
  -https://api.example.com/v1/books get请求,获取所有书
  -https://api.example.com/v1/books post请求,新增一本书
  -https://api.example.com/v1/book/1 delete请求,删除一本书
  -https://api.example.com/v1/book/1 delete请求,获取id为1的这本书
  -https://api.example.com/v1/book/1 put/patch请求,修改id为1的这本书

-过滤,通过在url上传参的形式传递搜索条件
  -https://api.example.com/v1/books?limit=10:只拿前10本
  -https://api.example.com/v1/books?price=10:只拿价格为10的书
-状态码
  -{status:100,}
-错误处理,应返回错误信息,error当做key
  {
  status:101,
  errors:'您没有权限操作这个事'
  }
-返回结果,针对不同操作,服务器向用户返回的结果应该符合以下规范
  GET /collection:返回资源对象的列表(数组)
  GET /collection/resource:返回单个资源对象
  POST /collection:返回新生成的资源对象
  PUT /collection/resource:返回完整的资源对象
  PATCH /collection/resource:返回完整的资源对象
  DELETE /collection/resource:返回一个空文档
-返回结果中提供链接(获取一本书)
  {
  id:1
  name:lxx
  price:12
  publish:www.xx.com/api/v1/publish/1
  }

3 django中写resful的接口

-postman的使用
-请求地址带反斜杠出现的问题(中间件)
  -如果请求地址是/user,路由中配置成'/user/',匹配不上,中间件会自动在后面加 / 再去匹配,能匹配成功,重定向到/user/,加了 / 还匹配不上,就报错
  -django.middleware.common.CommonMiddleware

4 drf写resful的接口

5 APIVIew源码分析

对象没有,找父类的dispatch

6 Request

码分析

7 drf之序列化

8 在线格式化json -https://www.json.cn/

最新文章

  1. java 使用BeanUtils.copyProperties(Object source,Object target) 复制字段值
  2. hdu 1203
  3. Linux基础: 网络命令和进程管理
  4. HS光流算法详解<转载>
  5. CHtml::radioButtonList
  6. HDFS体系结构
  7. HDU4614【线段树。】
  8. Swift - guard关键字(守护)
  9. 1, sync_with_stdio(), tie()的应用
  10. 目前所有的ANN神经网络算法大全
  11. 理解margin负值
  12. 【DotNet加密方式解析】-- 好文收藏
  13. PHP生成腾讯云COS请求签名
  14. thinkphp 自动生成模块目录结构
  15. [疑难杂症]__当你的Cortana搜索无法使用,显示纯白界面(ps:已解决).
  16. 创建一个dynamics 365 CRM online plugin (三) - PostOperation
  17. Unity3D Shader 高斯模糊
  18. SDN负载均衡
  19. exits, in, left join性能比较
  20. 【BZOJ2754】[SCOI2012]喵星球上的点名

热门文章

  1. Java 开发笔记2
  2. PS快速祛除脸上小雀斑
  3. 控制结构(5): 必经之地(using)
  4. JVM中的垃圾回收算法GC
  5. LODOP提示、报错、现象,简短问答
  6. CSS3文字、背景与列表
  7. 进程Process之join、daemon(守护)、terminate(关闭)、multiprocessing之锁、信号量和事件
  8. 关于ESB(企业服务总线)的学习笔记
  9. TsinsenA1221 大楼【矩阵快速幂】
  10. Java【第八篇】面向对象之高级类特性