Django Rest_Framework

Web应用模式

在开发Web应用中,有两种应用模式:前后端不分离和前后端分离

前后端不分离

前后端不分离通俗来讲就是不区分前端和后端,浏览器请求时服务器直接返回页面,其示意图如下

Django Rest_Framework


前后端分离

前后端分离是Web不断发展的结果,它将开发工作分为两块,前端和后端,前端负责静态页面的构建和数据展示,而数据则来自于后端,后端的工作在于对外提供统一的API接口,供前端调用获取数据,其示意图如下

Django Rest_Framework


API接口

为了在团队内部形成共识,防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本。

目前市面上大部分公司开发人员使用的接口服务架构主要有两种:Restful和RPC

RPC

RPC(Remote Procedure Call)翻译成中文就是远程过程调用

action=get_all_student&params=301&sex=1

上面是一个典型的RPC调用,action指定要调用的函数名,&后面可以传入参数

RPC的缺点是如果函数数量较多,前端在请求api接口时会比较难找,且容易出现重复的接口


Restful接口

REST全称是Representational State Transfer,中文名为表述性状态转移,简单来讲,就是把后端所有的数据/文件看成资源,接口请求数据,本质上就是对资源进行操作。Web项目中操作资源,无非就是增删改查,所以要求在地址栏中声明要操作的资源是什么,然后通过http请求动词来说明对资源进行哪一种操作

以下是几个示例:
GET http://www.douban.com/api/books/ 获取所有书籍
POST http://www.douban.com/api/books/ 添加一本书
DELETE http://www.douban.com/api/books/2/ 删除id=2的书
PUT http://www.douban.com/api/books/2/ 更新id=2的书籍信息


RESTful API规范

RESTful 理念认为后端开发任务就是提供数据的,对外提供的是数据资源的访问接口,所以在定义接口时,客户端访问的URL路径就表示这种要操作的数据资源。而对于数据资源分别使用POST、DELETE、GET、UPDATE等请求动作来表达对数据的增删查改。详细的规范参考博客:RESTful 规范

上一篇:Python猫荐书系列之七:Python入门书籍有哪些?


下一篇:程序员 你读过的书,藏着自己的命运-技术类(二)