Restframework框架总结及restful规范
1. django rest framework框架的作用?
- 帮助开发者可以快速开发出遵循restful规范的API
2. django rest framework框架都有哪些组件(10)?
- -版本
- -权限
- -认证
- -节流
- -分页
- -解析器
- -序列化(最重要)
- -路由
- -视图
- -渲染器(把结果渲染到一个模板里)
3.为什么做前后端分离?
- -分工明确,提高效率
- -对于后端人员,主要为前端提供:API接口
- 以前的你的接口:
- http://127.0.0.1:8000/index/
- http://127.0.0.1:8000/users/
- http://127.0.0.1:8000/add_users/
- http://127.0.0.1:8000/del_users/
- http://127.0.0.1:8000/edit_users/
- restful 规范:
- http://127.0.0.1:8000/users/
- -同样的业务逻辑,能开发多个端口(app,网页端,ios端,微信小程序等),统一一套API接口,能适用于多个端口
- -vue.js等框架编写前端时,会比之前写jQuery更简单快捷
4.什么是跨域?
- -比如你访问百度,在百度js的ajax中携带一个京东的URL发送给你,由于浏览器的同源策略(同源是指域名,协议,端口相同),会进行阻隔,你接收不到页面内容
5.谈谈你对restful规范的理解(-->所有语言共用)
- 1. 使用https代替http(http通过socket收发数据是明文的,https是加密的,安全性高)
- https://www.luffycity.com/course/detail/web/3
- http://www.luffycity.com/course/detail/web/3
- 2. 在URL中体现自己写的是API
- https://www.luffycity.com/api/
- https://api.luffycity.com/ 可能会跨域
- 3. 在URL中体现版本 (旧版本和新版本都能体现出)
- https://www.luffycity.com/api/v1/users
- https://www.luffycity.com/api/v2/users
- 4. 名词(面向资源编程)
- https://www.luffycity.com/api/v1/users
- https://www.luffycity.com/api/v1/song
- 5. 行为
- https://www.luffycity.com/api/v1/users
- method:
- get,获取
- post,新建
- put,更新
- patch,局部更新
- delete,删除
- 6. 条件 (分页等)
- https://www.luffycity.com/api/v1/users?page=1
- https://www.luffycity.com/api/v1/users?page=1&gender=2
- 7. 状态码
- 200
- 301
- 302
- 404
- 500
- 推荐使用code:
- def xx(request):
- ret = {'code':1000,'data':None}
- try:
- ...
- except Exptions as e:
- ret['status'] = 1001
- ret['error'] = 'xxxx错误'
- return JsonResponse(ret)
- 8. 错误信息
- {
- code:10001,
- error:'用户名或密码错误'
- }
- 9. 返回结果:
- GET:
- https://www.luffycity.com/api/v1/users
- 响应:
- {
- code: 1000,
- data: [
- {'name':'赵森','age':19},
- {'name':'赵云','age':16},
- {'name':'赵云','age':16},
- {'name':'赵云','age':16},
- {'name':'赵云','age':16},
- ]
- }
- GET:
- https://www.luffycity.com/api/v1/users/1/
- 响应:
- {
- code:1000,
- data:{'name':'赵森','age':19},
- }
- POST:
- https://www.luffycity.com/api/v1/users
- 请求体:
- {'name':'大表哥','age':19}
- 响应(不要):
- {
- code:1000,
- data:{'id':9, 'name':'大表哥','age':19}
- }
- PUT/PATCH:
- https://www.luffycity.com/api/v1/users
- 请求体:
- {'name':'大表哥','age':19}
- 响应(不要):
- {
- code:1000,
- data:{'id':9, 'name':'大表哥','age':19}
- }
- DELETE:
- ...
- 10. hyper link
- 访问:https://www.luffycity.com/api/v1/users
- {
- code:1000,
- data:[
- {'id':1,'name':'赵森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/},
- {'id':1,'name':'赵森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/},
- {'id':1,'name':'赵森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/},
- {'id':1,'name':'赵森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/},
- {'id':1,'name':'赵森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/},
- ]
- }
- https://www.luffycity.com/api/v1/users
- {
- code:1000,
- data:[
- {'id':1,'name':'赵森','age':19, 'depart_title':'公关部'},
- {'id':1,'name':'赵森','age':19, 'depart_title':'公关部'},
- {'id':1,'name':'赵森','age':19, 'depart_title':'公关部'},
- {'id':1,'name':'赵森','age':19, 'depart_title':'公关部'},
- {'id':1,'name':'赵森','age':19, 'depart_title':'公关部'},
- ]
- }
Restframework框架总结及restful规范的更多相关文章
- restful规范和restframework框架
什么是接口? 接口可以理解为url就是接口. 那么在其他语言里面接口也可以是约束类 restful规范是什么? RESTful是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便 ...
- Django框架(十七)-- CBV源码分析、restful规范、restframework框架
一.CBV源码分析 1.url层的使用CBV from app01 import views url(r'book/',views.Book.as_view) 2.as_view方法 as_view是 ...
- Django框架(十八)—— CBV源码分析、restful规范、restframework框架
目录 CBV源码分析.restful规范.restframework框架 一.CBV源码分析 1.url层的使用CBV 2.as_view方法 3.view方法 4.dispatch方法(可以在视图层 ...
- 一、restful规范 二、CBV(View)源代码执行流程 三、drf框架安装和简单使用
一.restful规范 ''' 它是一个规范,面向资源架构 十条规范 1.API与用户的通讯协议,总是使用HTTPs协议,确保了网络传输的安全性 2.域名 --https://api.example. ...
- Django框架深入了解_01(Django请求生命周期、开发模式、cbv源码分析、restful规范、跨域、drf的安装及源码初识)
一.Django请求生命周期: 前端发出请求到后端,通过Django处理.响应返回给前端相关结果的过程 先进入实现了wsgi协议的web服务器--->进入django中间件--->路由f分 ...
- 测开大佬告诉你:如何5分钟快速创建restful风格的API接口-使用django restframework框架
一.思考❓❔ 1.创建API接口难吗? 软件测试工程师: 只测过API接口, 从没创建过 应该需要掌握一门后端开发语言和后端开发框架吧!? 脑容量有限,想想就可怕 2.如何创建API接口呢? 使用Dj ...
- 基于Django的Rest Framework框架的RESTful规范研究
一.什么是RESTful规范 总的来说:RESTful规范就是一个非技术,人为约定的一个面向资源的架构理念. REST与技术无关,代表的是一种软件架构风格,REST是Representational ...
- DjangoRestFramework 学习之restful规范 APIview 解析器组件 Postman等
DjangoRestFramework学习一之restful规范.APIview.解析器组件.Postman等 本节目录 一 预备知识 二 restful规范 三 DRF的APIView和解析器组件 ...
- day89 DjangoRsetFramework学习---restful规范,解析器组件,Postman等
DjangoRsetFramework学习---restful规范,解析器组件,Postman等 本节目录 一 预备知识 二 restful规范 三 DRF的APIView和解析 ...
随机推荐
- 修改Linux时区的2种办法
由于Azure 上所有的服务时间都采用了 UTC 时间.UTC 时间比中国时间晚 8 个小时,该如何按照自己的需要来进行修改呢,下面提供2种办法以供参考: 1.修改 /etc/localtime 文件 ...
- Xcode10 闪退问题
最新更新了iOS12,mac10.13.6,xcode10之后,打开之前的项目,只要进行import,xcode就会闪退.那么就来看一下解决方案: Xcode10 新增了一个构建系统起名“New Bu ...
- C#学习笔记5
1.接口的显式实现:显式实现需要在实现接口的类型中,在实现接口的成员中添加接口名称的前缀.且没有必要添加public.virtual这些修饰符,因为显式实现只能通过接口调用,不能用实现类进行调用.为此 ...
- typeScript入门(二)函数与类
3.ts的函数 1)函数的返回值和参数 在函数的定义需要定义其的返回值可以void,来表示没有返回值 函数参数的定义,举个例子分析下吧 name:string,age?:number=23 冒号后面是 ...
- random模块/string模块
一.random模块 random模块可以很容易生成随机数和随机字符串. random.randint(1, 100) # 1-100之间取一个随机数 random.randrange(1, 100) ...
- JavaScript (预热)
希望把某个元素移除你的视线: 1.display:none; 显示为无 2.visibility:hidden; 隐藏 3.width\height; 4.透明度: 5.left\top; 6.拿 ...
- Web服务器父与子 Apache和Tomcat
Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.在Apache基金会里面Apache S ...
- IntelliJ、ReSharper 6折 加入慧都“惊喜惠”
慧都2013岁末回馈惊喜不断!著名的软件开发公司JetBrains旗下所有产品加入"惊喜惠"活动环节, JAVA IDE——IntelliJ IDEA,.NET效率工具集——ReS ...
- android,getExternalStorageDirectory()和getExternalFilesDir()的区别
转载地址:https://blog.csdn.net/nugongahou110/article/details/48154859 之前看到一位网友的吐槽:当我把手机连接到电脑上时,在SD卡根目录看到 ...
- JS高级程序设计第三版——基本概念
前言:任何语言的核心都必然会描述这门语言最基本的工作原理.而描述的内容通常都要设计这门语言的语法.操作符.数据类型.内置功能等用于构建复杂解决方案的基本概念. 语法: 1. 区分大小写: 2. 标 ...