在开发Web应用中,有两种应用模式:
目前市面上大部分公司开发人员使用的接口服务架构主要有:restful、rpc。
rpc: 翻译成中文:远程过程调用[远程服务调用].
接口多了,对应函数名和参数就多了,前端在请求api接口时,就会比较难找.容易出现重复的接口
restful: 翻译成中文: 资源状态转换.
把后端所有的数据/文件都看成资源.
那么接口请求数据,本质上来说就是对资源的操作了.
web项目中操作资源,无非就是增删查改.所以要求在地址栏中声明要操作的资源是什么,然后通过http请求动词来说明对资源进行哪一种操作.
POST http://www.lufei.com/api/students/ 添加学生数据
GET http://www.lufei.com/api/students/ 获取所有学生
DELETE http://www.lufei.com/api/students/<pk> 删除1个学生
api接口开发,最核心最常见的一个过程就是序列化,所谓序列化就是把数据转换格式
序列化: 把我们识别的数据转换成指定的格式提供给别人。
对象模型类 --- > json数据
例如:我们在django中获取到的数据默认是模型对象,但是模型对象数据无法直接提供给前端或别的平台使用,所以我们需要把数据进行序列化,变成字符串或者json数据,提供给别人。
反序列化:把别人提供的数据转换/还原成我们需要的格式。
json ----------- > 对象模型类(存数据库)
例如:前端js提供过来的json数据,对于python而言就是字符串,我们需要进行反序列化换成模型类对象,这样我们才能把数据保存到数据库中。
原文:https://www.cnblogs.com/echo2019/p/10816642.html