restful的10个规范、序列化和反序列化的名词解释
# 概念
REST全称是Representational State Transfer,中文意思是表述:表征性状态转移。
RESTful是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中
---------------------------------
# 10个规范
-1 数据的安全保障,通常使用https(http+ssl/tsl)协议
-url链接一般都采用https协议进行传输
-采用https协议,可以提高数据交互过程中的安全性
---------------------------------
-2 接口中带api标识
-https://api.lqz.com/books
-https://www.lqz.com/api/books 咱们用这种形式
---------------------------------
-3 多版本共存,路径中带版本信息
-https://api.lqz.com/v1/login
-https://www.lqz.com/api/v2/login
---------------------------------
-4 数据即是资源,均使用名词,尽量不出现动词(最核心的)
-接口一般都是完成前后台数据的交互,交互的数据我们称之为资源
-接口形式如下
https://api.baidu.com/users
https://api.baidu.com/books
-特殊的接口可以出现动词,因为这些接口一般没有一个明确的资源,或是动词就是接口的核心含义、 https://api.baidu.com/login
---------------------------------
-5 资源操作由请求方式决定(method)
-操作资源一般都会涉及到增删改查,我们提供请求方式来标识增删改查动作
https://api.baidu.com/books - get请求:获取所有书
https://api.baidu.com/books/1 - get请求:获取主键为1的书
https://api.baidu.com/books - post请求:新增一本书书
https://api.baidu.com/books/1 - put请求:修改主键为1的书
https://api.baidu.com/books/1 - delete请求:删除主键为1的书
---------------------------------
-6 在请求地址中带过滤条件
https://api.baidu.com/books?name=红&price=99
---------------------------------
-7 响应中状态码:两套
http响应状态码:1xx:请求正在处理,2xx:成功响应,3xx:重定向,4xx:客户端错误,5xx:服务端错误
https://blog.csdn.net/li_chunlong/article/details/120787872
-公司内部规定的响应状态码,放在响应体中
{code:0} 咱们后期一般使用100 101 102这种
---------------------------------
-8 返回数据中带错误信息
{'code':0 , 'msg': 'ok/用户名错误'}
---------------------------------
-9 返回的结果应该符合以下规范(好多公司不遵循这个)
引号没写
GET 获取所有数据:返回资源对象的列表(数组)[{name:红楼梦,price:99},{name:红楼梦,price:99}]
GET 单个对象:返回单个资源对象:{name:红楼梦,price:99}
POST 新增对象:返回新生成的资源对象:{name:西游记,price:99}
PUT 修改对象:返回完整的资源对象 :{name:西游记,price:100}
DELETE 删除:返回一个空文档
---------------------------------
-10 响应数据中带链接地址
---------------------------------
.
.
.
序列化与反序列化的名词解释
python
序列化:把我们识别的数据转换成指定的格式提供给别人(前端),
通俗点讲:也就是从数据库取数据返给前端的过程,叫序列化
反序列化:把别人(前端)提供的数据转换/还原成我们需要的格式
通俗点讲:就是将前端传过来的数据,在写入数据库的过程,叫反序列化
序列化与反序列化就是格式之间的转化
序列化的目的就一个,用来传输数据的。