Web应用模式

1 .前后端不分离:在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与厚度那的耦合度很高.

这种应用模式比较合适纯网页应用,但是后端对接APP时,App可能并不需要后端返回一个HTML网页,二仅仅是数据本身,所以后端原本返回网页的接口不在适用前端APP应用,为了对接APP后端嗨需再开发一套接口

2 前后端分离:在前后端分离的应用模式中,后端仅返回前端所需的数据,不在渲染HTML页面,不在控制前端的效果,只用前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,APP有APP的处理方式,但无论哪种前端,所需要的数据基本相同,后端仅需开发一套逻辑对外提供数据即可.
在前后端分离的应用模式中,前端与后端的耦合度相对较低

在前后端分离的应用模式中,我们通常将后端开发的每一视图都成为一个接口,或者API,前端通过访问接口来对数据进行增删改查

认识RESTful

1.在前后端分离的应用模式里.后端API接口如何定义?
1.POST/add-goods增加商品
2.POST/delete-goods删除商品
3.POST/update-goods修改商品
4.GET/get-goods查询商品信息
2. 名称
具象状态传输” 或者表现层转换化.

RESTful是一种开发理念  . REST是设计风格而不是标准
REST特点:url简洁,将参数通过url传到服务器.
称之为RESTful框架
1.具象的:资源
2.表现:格式
3.状态转换:数据变化
如果客服端想要操作服务器,必须通过某种手段,让服务器端发生"状态转换"
总结:
1.每一个URL代表一种资源
2.客服端和服务器端,传递这个资源的表现层

3.客服端通过四个GTTP动词,对服务器端资源进行操作,实现"表现层状态转化"

表现层状态转化

1.域名
应该尽量将API部署在专用域名之下
如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。
2.版本
应该讲API的版本号放入URL
3,路径

表示API的具体网址,每个网站代表一种资源
1.资源作为网站,不能有动词,而且所用的名词往往与数据库的表名对应
2,API中的名词应该使用复数,无论子资源或者所有资源
动词: GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
DELETE(DELETE):从服务器删除资源。

4.过滤信息
如果技能数量很多,服务器不可能都将它们返回给与用户API应该提参数,过滤返回结果

5. 状态码
服务器想用户返回的状态码,和提示信息,
6. 错误处理(Error handling)
如果状态码4xx,服务器就应该想用户返回出错信息,
7. 返回结果
针对不同操作,服务器想用户返回的结果应该符合以下规范
1.GET/collection:返回资源对象的列表
2.GET/coliection/resource:返回单个 资源对象
3.POST/collection:返回新生成的资源对象
4.PUT/collection/resource返回完整的资源对象
5.PATCH//collection/resource返回完整的资源对象
6.DELECT//collection/resource返回一个空文档
8. 超媒体(Hypermedia API)

9. 其他

服务器返回的数据格式,应该尽量使用JSON,避免使用XML。

明确REST接口开发的核心任务之序列化Serialization

序列化:在数据存储于传送的部分是指将一个对象存储至一个储存媒介,可以是字节或是XML等格式,这程序被应用在不同应用程序之间传送对象,以及服务器将对象储存到档案或数据库.相反的过程又称为反序列化
   将程序中的一个数据结构类型转换为其他格式(字典\JSON\XML等)
反之:讲其他格式(字典\JSON\XML等)转换为程序中的数据,这个过程我们称为反序列化

总结,:视图中需要做的最核心
1.将数据库数据序列化为前端锁需要的格式,并返回.

2.将前端发送的数据反序列化为模型类对象,并保存到数据库中

Django REST framework 简介

序列化和反序列化可以复用
2.1增:效验请求数据>执行反序列化过程>保存数据库>将保存的对象序列化并返回
删:判断要删除的数据是否存在.>执行数据库删除
改:判断要修改的数据是否存在>效验请求的参数>执行反序列化过程>保存数据库>将保存的对象序列化并返回
查:查询数据库>将数据序列化并返回
特点:
1.提供了定义序列化器Serializer的方法,可以快速根据Django ORM 或者其他库自动序列化/反序列化
2.提供了丰富的类视图\MIXIN扩展类,简化视图的编写
3.丰富的定制层级:函数视图\类视图\试图结合到自动生成API,满足各种需要
4.多种身份认证和权限认证方式的支持
5.内置了限流系统
6.直观的API web界面
7.可扩展性 , 插件丰富

Django REST framework 理解相关推荐

  1. Django REST framework的各种技巧——1.基础讲解

    写在最上面的话 django是一个神奇的框架,而restframework又是遵循了这个框架的另一个神奇的框架,然而由于restframework的文档稀烂无比,很多时候你必须看源码才能写出科学的代码 ...

  2. DRF (Django REST framework) 框架介绍

    Web应用模式 在开发Web应用中,有两种应用模式: 前后端不分离 前后端分离 1 前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控 ...

  3. vue 多个api请求_Vue+Django REST framework实战3.RESTful API和VUE目录结构

    内容提要: RESTful API和VUE基础概念. <Python前后端分离开发Vue+Django REST framework实战>作者bobby --学习来源 第四章 RESTfu ...

  4. Django Rest Framework框架

    注明 本笔记主要参考书籍<Django应用开发实战><Django企业开发实战>,这两本书前者详细,后者精炼.本文还主要参考(?雾)金角大王的博客,当然还参考了其他人的博客.这 ...

  5. Django REST framework+Vue 打造生鲜超市(四)

    目录 生鲜超市(一)    生鲜超市(二)    生鲜超市(三) 生鲜超市(四)    生鲜超市(五)    生鲜超市(六) 生鲜超市(七)    生鲜超市(八)    生鲜超市(九) 生鲜超市(十) ...

  6. 谈谈Django REST Framework(DRF)中的序列化器

    摘要 Django REST Framework(DRF)是一个强大的工具,可以帮助我们构建和处理RESTful API.其中的序列化器(Serializers)是其核心组件之一,它允许我们快速有效地 ...

  7. 【武sir】django rest framework源码和实战_day01(上)

    (0)摘要 # 课程链接 4天搞定django rest framework源码和实战_哔哩哔哩_bilibili # 课程内容 (1)内容概要_略 (2)内容回顾_略 (3)django 视图之 C ...

  8. Django Rest Framework的使用整理

    Django Rest Framework 一.Rest Framework的基本介绍 程序的客户端有很多:硬件设备,游戏,APP,软件,其他的外部服务端. 1. Web应用模式 在开发Web应用中, ...

  9. 03 Django REST Framework 视图和路由

    01-DRF中的request 在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等. 比如,区别 ...

最新文章

  1. uniapp中qrcode生成二维码后传的参数不见了_阿虚教你制作动态二维码,超详细教程!
  2. mysql管理节点_mysql8 参考手册-NDB群集管理节点配置参数
  3. matlab学习——1.基本操作
  4. excel几个表合成一张_快速将多个excel表合并成一个excel表
  5. 中国区域Modis行列号(附Shapefile文件下载)
  6. 测试驱动开发–双赢策略
  7. ConfigurationManager.AppSettings[] ConfigurationManager智能显示不出来
  8. Mysql导入excel数据,解决某些特殊字符乱码问题
  9. 一维信号小波阈值去噪 c语言,一维信号小波阈值去噪
  10. 操作系统和Linux
  11. DUBBO:前端调用后端服务返回类名
  12. TWaver初学实战——基于HTML5的交互式地铁图
  13. 关于Qt5.10调试时出现“qtcreatorcdbext.dll cannot be found.”的解决方案
  14. web服务器与web框架
  15. 谷歌浏览器导入插件教程
  16. 电子病历系统中痕迹保留的应用意义
  17. unity 实验演示 教程_Unity的演示团队– Unity最出色的视觉效果背后的创造者
  18. 第1章 Cookie模拟登录(1.1 模拟登录的原理)
  19. tomcat安全加固手册
  20. 按键边缘检测,控制LED亮灭

热门文章

  1. 王权富贵:RCNN的成长历程
  2. 计算机毕设分享 springboot中药店商城系统(含源码+论文)
  3. PTA-MOOC《Python程序设计浙江大学》拼题A题目集第二章编程题
  4. 中职计算机PPT触发器使用的教案,PPT触发器使用全攻略-实例讲解PPT触发器的设置和使用方法(2)...
  5. 7 win 卸载node_win10inode卸载不了
  6. GNU make 中文手册 第三章:Makefile 总述
  7. 快手用模拟器会被检测吗_欧森杰检测仪:氧气检测仪弄脏了可以用水洗吗?
  8. 【git系列】简易上手
  9. ios 程序开发零散重点知识总结(一)暴走漫画制作笔记四
  10. 【颜色空间】RGB、HSV、Lab、YUV颜色空间模型