1. django rest framework框架的作用?

  1. 帮助开发者可以快速开发出遵循restful规范的API

2. django rest framework框架都有哪些组件(10)?

  1. -版本
  2. -权限
  3. -认证
  4. -节流
  5. -分页
  6. -解析器
  7. -序列化(最重要)
  8. -路由
  9. -视图
  10. -渲染器(把结果渲染到一个模板里)

3.为什么做前后端分离?

  1. -分工明确,提高效率
  2. -对于后端人员,主要为前端提供:API接口
  3. 以前的你的接口:
  4. http://127.0.0.1:8000/index/
  5. http://127.0.0.1:8000/users/
  6. http://127.0.0.1:8000/add_users/
  7. http://127.0.0.1:8000/del_users/
  8. http://127.0.0.1:8000/edit_users/
  9. restful 规范:
  10. http://127.0.0.1:8000/users/
  11. -同样的业务逻辑,能开发多个端口(app,网页端,ios端,微信小程序等),统一一套API接口,能适用于多个端口
  12. -vue.js等框架编写前端时,会比之前写jQuery更简单快捷

4.什么是跨域?

  1. -比如你访问百度,在百度jsajax中携带一个京东的URL发送给你,由于浏览器的同源策略(同源是指域名,协议,端口相同),会进行阻隔,你接收不到页面内容

5.谈谈你对restful规范的理解(-->所有语言共用)

  1. 1. 使用https代替httphttp通过socket收发数据是明文的,https是加密的,安全性高)
  2. https://www.luffycity.com/course/detail/web/3
  3. http://www.luffycity.com/course/detail/web/3
  4.  
  5. 2. URL中体现自己写的是API
  6. https://www.luffycity.com/api/
  7. https://api.luffycity.com/ 可能会跨域
  8.  
  9. 3. URL中体现版本 (旧版本和新版本都能体现出)
  10. https://www.luffycity.com/api/v1/users
  11. https://www.luffycity.com/api/v2/users
  12.  
  13. 4. 名词(面向资源编程)
  14. https://www.luffycity.com/api/v1/users
  15. https://www.luffycity.com/api/v1/song
  16.  
  17. 5. 行为
  18. https://www.luffycity.com/api/v1/users
  19. method:
  20. get,获取
  21. post,新建
  22. put,更新
  23. patch,局部更新
  24. delete,删除
  25. 6. 条件 (分页等)
  26. https://www.luffycity.com/api/v1/users?page=1
  27. https://www.luffycity.com/api/v1/users?page=1&gender=2
  28.  
  29. 7. 状态码
  30. 200
  31. 301
  32. 302
  33. 404
  34. 500
  35. 推荐使用code:
  36. def xx(request):
  37. ret = {'code':1000,'data':None}
  38. try:
  39. ...
  40. except Exptions as e:
  41. ret['status'] = 1001
  42. ret['error'] = 'xxxx错误'
  43.  
  44. return JsonResponse(ret)
  45.  
  46. 8. 错误信息
  47. {
  48. code:10001,
  49. error:'用户名或密码错误'
  50. }
  51.  
  52. 9. 返回结果:
  53. GET:
  54. https://www.luffycity.com/api/v1/users
  55. 响应:
  56. {
  57. code: 1000,
  58. data: [
  59. {'name':'赵森','age':19},
  60. {'name':'赵云','age':16},
  61. {'name':'赵云','age':16},
  62. {'name':'赵云','age':16},
  63. {'name':'赵云','age':16},
  64. ]
  65. }
  66. GET:
  67. https://www.luffycity.com/api/v1/users/1/
  68. 响应:
  69. {
  70. code:1000,
  71. data:{'name':'赵森','age':19},
  72. }
  73. POST:
  74. https://www.luffycity.com/api/v1/users
  75. 请求体:
  76. {'name':'大表哥','age':19}
  77. 响应(不要):
  78. {
  79. code:1000,
  80. data:{'id':9, 'name':'大表哥','age':19}
  81. }
  82.  
  83. PUT/PATCH:
  84. https://www.luffycity.com/api/v1/users
  85. 请求体:
  86. {'name':'大表哥','age':19}
  87. 响应(不要):
  88. {
  89. code:1000,
  90. data:{'id':9, 'name':'大表哥','age':19}
  91. }
  92.  
  93. DELETE:
  94. ...
  95. 10. hyper link
  96.  
  97. 访问:https://www.luffycity.com/api/v1/users
  98. {
  99. code:1000,
  100. data:[
  101. {'id':1,'name':'赵森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/},
  102. {'id':1,'name':'赵森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/},
  103. {'id':1,'name':'赵森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/},
  104. {'id':1,'name':'赵森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/},
  105. {'id':1,'name':'赵森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/},
  106. ]
  107. }
  108.  
  109. https://www.luffycity.com/api/v1/users
  110. {
  111. code:1000,
  112. data:[
  113. {'id':1,'name':'赵森','age':19, 'depart_title':'公关部'},
  114. {'id':1,'name':'赵森','age':19, 'depart_title':'公关部'},
  115. {'id':1,'name':'赵森','age':19, 'depart_title':'公关部'},
  116. {'id':1,'name':'赵森','age':19, 'depart_title':'公关部'},
  117. {'id':1,'name':'赵森','age':19, 'depart_title':'公关部'},
  118. ]
  119. }

 

  

Restframework框架总结及restful规范的更多相关文章

  1. restful规范和restframework框架

    什么是接口? 接口可以理解为url就是接口. 那么在其他语言里面接口也可以是约束类 restful规范是什么? RESTful是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便 ...

  2. Django框架(十七)-- CBV源码分析、restful规范、restframework框架

    一.CBV源码分析 1.url层的使用CBV from app01 import views url(r'book/',views.Book.as_view) 2.as_view方法 as_view是 ...

  3. Django框架(十八)—— CBV源码分析、restful规范、restframework框架

    目录 CBV源码分析.restful规范.restframework框架 一.CBV源码分析 1.url层的使用CBV 2.as_view方法 3.view方法 4.dispatch方法(可以在视图层 ...

  4. 一、restful规范 二、CBV(View)源代码执行流程 三、drf框架安装和简单使用

    一.restful规范 ''' 它是一个规范,面向资源架构 十条规范 1.API与用户的通讯协议,总是使用HTTPs协议,确保了网络传输的安全性 2.域名 --https://api.example. ...

  5. Django框架深入了解_01(Django请求生命周期、开发模式、cbv源码分析、restful规范、跨域、drf的安装及源码初识)

    一.Django请求生命周期: 前端发出请求到后端,通过Django处理.响应返回给前端相关结果的过程 先进入实现了wsgi协议的web服务器--->进入django中间件--->路由f分 ...

  6. 测开大佬告诉你:如何5分钟快速创建restful风格的API接口-使用django restframework框架

    一.思考❓❔ 1.创建API接口难吗? 软件测试工程师: 只测过API接口, 从没创建过 应该需要掌握一门后端开发语言和后端开发框架吧!? 脑容量有限,想想就可怕 2.如何创建API接口呢? 使用Dj ...

  7. 基于Django的Rest Framework框架的RESTful规范研究

    一.什么是RESTful规范 总的来说:RESTful规范就是一个非技术,人为约定的一个面向资源的架构理念. REST与技术无关,代表的是一种软件架构风格,REST是Representational ...

  8. DjangoRestFramework 学习之restful规范 APIview 解析器组件 Postman等

    DjangoRestFramework学习一之restful规范.APIview.解析器组件.Postman等 本节目录 一 预备知识 二 restful规范 三 DRF的APIView和解析器组件 ...

  9. day89 DjangoRsetFramework学习---restful规范,解析器组件,Postman等

     DjangoRsetFramework学习---restful规范,解析器组件,Postman等           本节目录 一 预备知识 二 restful规范 三 DRF的APIView和解析 ...

随机推荐

  1. 修改Linux时区的2种办法

    由于Azure 上所有的服务时间都采用了 UTC 时间.UTC 时间比中国时间晚 8 个小时,该如何按照自己的需要来进行修改呢,下面提供2种办法以供参考: 1.修改 /etc/localtime 文件 ...

  2. Xcode10 闪退问题

    最新更新了iOS12,mac10.13.6,xcode10之后,打开之前的项目,只要进行import,xcode就会闪退.那么就来看一下解决方案: Xcode10 新增了一个构建系统起名“New Bu ...

  3. C#学习笔记5

    1.接口的显式实现:显式实现需要在实现接口的类型中,在实现接口的成员中添加接口名称的前缀.且没有必要添加public.virtual这些修饰符,因为显式实现只能通过接口调用,不能用实现类进行调用.为此 ...

  4. typeScript入门(二)函数与类

    3.ts的函数 1)函数的返回值和参数 在函数的定义需要定义其的返回值可以void,来表示没有返回值 函数参数的定义,举个例子分析下吧 name:string,age?:number=23 冒号后面是 ...

  5. random模块/string模块

    一.random模块 random模块可以很容易生成随机数和随机字符串. random.randint(1, 100) # 1-100之间取一个随机数 random.randrange(1, 100) ...

  6. JavaScript (预热)

    希望把某个元素移除你的视线: 1.display:none;   显示为无 2.visibility:hidden; 隐藏 3.width\height; 4.透明度: 5.left\top; 6.拿 ...

  7. Web服务器父与子 Apache和Tomcat

    Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.在Apache基金会里面Apache S ...

  8. IntelliJ、ReSharper 6折 加入慧都“惊喜惠”

    慧都2013岁末回馈惊喜不断!著名的软件开发公司JetBrains旗下所有产品加入"惊喜惠"活动环节, JAVA IDE——IntelliJ IDEA,.NET效率工具集——ReS ...

  9. android,getExternalStorageDirectory()和getExternalFilesDir()的区别

    转载地址:https://blog.csdn.net/nugongahou110/article/details/48154859 之前看到一位网友的吐槽:当我把手机连接到电脑上时,在SD卡根目录看到 ...

  10. JS高级程序设计第三版——基本概念

    前言:任何语言的核心都必然会描述这门语言最基本的工作原理.而描述的内容通常都要设计这门语言的语法.操作符.数据类型.内置功能等用于构建复杂解决方案的基本概念. 语法: 1.  区分大小写: 2.  标 ...