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和解析 ...
随机推荐
- word 摘要
word 使用心得 定义快捷键 Tools -> Customize keyboard 自定义快捷键 cmd + L, 左对齐; cmd + R, 右对齐; cmd + E, 居中对齐 cmd ...
- BJFU 1549 ——Candy——————【想法题】
Candy 时间限制(C/C++):1000MS/3000MS 运行内存限制:65536KByte总提交:40 测试通过:20 描述 There are N c ...
- java版两人聊天程序
server.java import java.io.*; import java.net.*; import java.text.SimpleDateFormat; import java.util ...
- (一)初识div+css
关于div+css,一直以来都是听其名,而不知其为何.今天看了半天的视频,终于对此略有了解,感觉挺好的,相比之前的table布局页面,div+css就是一把页面布局利器!! div全称division ...
- 关于JVM
Java 中通过多线程机制使得多个任务同时执行处理,所有的线程共享JVM内存区域main memory,而每个线程又单独的有自己的工作内存,当线程与内存区域进行交互时,数据从主存拷贝到工作内存,进而交 ...
- Oracle JDBC 连接卡死后 Connection Reset
坑 这绝对是我碰计算机以来遇到的第一大坑! 症状: 在Linux主机上远程登录,执行一个简单的Oracle的JDBC连接程序(jar包),结果硬生生的卡在了连接建立验证阶段,然后等上几分钟后因为连接超 ...
- Disruptor之粗糙认识
一 概述 1.Disruptor Disruptor是一个高性能的异步处理框架,一个“生产者-消费者”模型. 2.RingBuffer RingBuffer是一种环形数据结构,包含一个指向下一个槽点的 ...
- git clone 指定的单个目录或文件夹
git clone 指定的单个目录或文件夹 针对自己的项目 方法一 基于sparse clone变通方法 创建一个空仓库 拉取远程仓库信息 开启 sparse clone 设置过滤 更新仓库 创建空仓 ...
- mongodb 3.4 学习 (六)监控
mongostat mongotop db.currentOp db.serverStatus() db.stats() db.collection.stats() # 复制集监控 rs.status ...
- 卡方分布、卡方独立性检验和拟合性检验理论及其python实现
如果你在寻找卡方分布是什么?如何实现卡方检验?那么请看这篇博客,将以通俗易懂的语言,全面的阐述卡方.卡方检验及其python实现. 1. 卡方分布 1.1 简介 抽样分布有三大应用:T分布.卡方分布和 ...