# 概念
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
序列化:把我们识别的数据转换成指定的格式提供给别人(前端),
通俗点讲:也就是从数据库取数据返给前端的过程,叫序列化 反序列化:把别人(前端)提供的数据转换/还原成我们需要的格式
通俗点讲:就是将前端传过来的数据,在写入数据库的过程,叫反序列化 序列化与反序列化就是格式之间的转化 序列化的目的就一个,用来传输数据的。

最新文章

  1. jQuery2.0.3源码分析系列(28) 元素大小
  2. 《CLR via C#》读书笔记--基元类型、引用类型和值类型
  3. AMDJS编译工具
  4. 移动端hrml模板
  5. JS的trim()方法
  6. 怎样解决MySQL数据库主从复制延迟的问题---流行网站的解决办法(转载)
  7. 人工智能深度学习Caffe框架介绍,优秀的深度学习架构
  8. iOS开发笔记-swift实现iOS数据持久化之归档NSKeyedArchiver
  9. int a[5]={1,2,3,4,5}; int *p=(int*)(&a+1); printf("%d",*(p-1)); 答案为什么是5?
  10. [转]ASP.NET Session 详解
  11. lintcode:落单的数
  12. Partitioning by Palindromes
  13. Javascript中的冒泡排序,插入排序,选择排序,快速排序,归并排序,堆排序 算法性能分析
  14. Jexus + Kestrel 部署 asp.net core
  15. C#泛型编程
  16. mac os x 查看网络端口情况
  17. CLASS类继承
  18. taotao商城遇到的问题
  19. 【EMV L2】EMV终端数据
  20. [POI2007]ODW-Weights(贪心)

热门文章

  1. 代码随想录算法训练营day21 | leetcode ● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● ***236. 二叉树的最近公共祖先
  2. js替换字符中指定所有字符
  3. 探索 C 语言的递归函数
  4. LeetCode-1719 重构一棵树的方案数
  5. Python爬虫-爬取手机应用市场中APP下载量
  6. windows下搭建h5游戏小小火影教程【附安装包】
  7. spring-boot logback 日志
  8. 如何用adb连接android手机
  9. SpringBoot 块形式的配置文件写法(简单示例)
  10. 创建异步倒计时触发Task