| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> DjangoRESTframework -> 正文阅读 |
|
[网络协议]DjangoRESTframework |
? ? web应用模式 ????????? ? 前后端分离 ? ? ? ? ? ? 前后端不分离 ? ? ? 前后端分离:后端仅返回前端所需的数据,不再渲染html页面,不再控制前端效果 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 前端展示的效果由前端自己决定 ? ? ? ?缺点:前后端耦合度相对较低 ???????? ? ? ? ? 前后端不分离:前端页面看到的效果都是由后端控制,由后端渲染页面或者重定向 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 前后端耦合度很高 ? ? ? RESTful ? ? ? ? ? ? ? 使用restful的原因: ????????????????????????’表现层状态转移‘是一种风格,更是一种协议 ?????????????????????????规范化接口访问方式:get post put delete ?????????????????????????资源标识唯一,状态的转化,所有信息都包含在当前请求中,无状态 性,可实现请求缓存 ? ? ? ? ? ? ? ? restful设计方法: ???????????????????????? ? ? ? ? ? ? ? ? ? ? ? ?1. 尽量将api部署在专用域名下 ? ? ? ? ? ? ? ? ? ? ? ?2. 将版本号放在url中 ? ? ? ? ? ? ? ? ? ? ? ? 3.资源作为网址,智能有名词,不能有动词,而且所用的名词往往与数 据库的表名对应 ? ? ? ? ? ? ? ? ? ? ? ? 4.api中的名词应该使用复数,无论子资源或者所有资源 ? ? ? ? ? ? ? ? ? ? ? ? 5.对于资源的具体操作类型,由http动词表示 ? ? ? ? ? ? ? ? ? ? ? ? 6.过滤信息,api提供参数 ? ? ? ? ? ? ? ? ? ? ? ?7. 状态码,服务器想用户返回的状态码和提示信息,方括号中是该状态 码对应的http动词 ????????????????????????????????
? ? ? ? ? ? ? ? ? ? ? ?8.错误处理,返回信息将error作为键名 ? ? ? ? ? ? ? ? ? ? ? ?9.返回结果
?serializer ? ? ? ? 序列化:将程序中的一个数据结构类型转换为其他格式(字典、JSON、XML等),例如将Django中的模型类对象装换为JSON字符串,这个转换过程我们称为序列化。 ? ? ? ? 反序列化:将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象,这个过程我们称为反序列化。 DjangoRESTframework的特点 ????????提供了定义序列化器serializer的方法,可以快速根据Django ORM或者其他库自动序列化或反序列化 ? ? ? ? 提供了丰富的类视图,Mixin扩展类,简化视图的编写 ? ? ? ? 丰富的定制层级,函数视图,类试图,视图集合到自动生成API ? ? ? ? 多种身份认证和权限认证 ? ? ? ? 内置限流 ? ? ? ? 直观的API web界面 ? ? ? ? 可扩展,插件丰富 DRF搭建
? ? ? ? ? 添加rest_framework应用
Serializer序列化器 ????????? ? ? ? ? ? ? ? ? ? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:17:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |