restful规范
restful规范介绍
restful规范是前后端分离的标准
REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征性状态转移)。 它首次出现在2000年Roy Fielding的博士论文中。
RESTful是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中
十条restful规范
1、数据的安全保障
通常使用https协议
2、用api关键字标识接口
在接口中带api字眼,让别人一眼就知道这是个api接口
# 两种书写方式 -https://api.baidu.com/books
-https://127.0.0.1:8080/api/books
3、多版本共存
在接口地址中带版本号
-https://api.baidu.com/v1/login
-https://api.baidu.com/v2/login
关于新老版本app
-有的人用了老版本app--》老接口v1 -有的人用了新版本app--》新接口v2 处理方式: -都留---》尽快升级---》xx年我们就不支持xx以下版本了
4、数据即是资源,均使用名词(可复数)
需注意请求地址中尽量不要出现动词
-https://api.baidu.com/v1/users # 获取用户,删除用户,新增用户
5、资源操作由请求方式决定
请求方式大致有get,post,delete,put,patch
-get请求是获取数据 -post请求是新增数据 -delete请求是删除数据 -put请求是修改数据 -patch请求是局部修改数据
6、请求地址中带过滤条件
-https://api.example.com/v1/zoos?limit=10 # 返回10条数据 -https://api.example.com/v1/books?name=西游记 # 查询名字是西游记的这本书
7、响应状态码(http的响应状态码,响应体的json数据中带状态码)
http的响应状态码
-1xx:请求正在处理 -2xx:请求成功(200,201) 200和201有什么区别? -3xx:重定向 (301和302有什么区别) -4xx:客户端错误(404:地址不存在,403:禁止了) -5xx:服务端错误
响应体中返回json格式数据---》code,status--->也有状态码---》服务端自定义的
-1001 :用户名错误
-1002 :没有权限。。
8、错误处理,返回错误信息
返回数据是json格式-->带状态码--->错误信息
{ error: "无权限操作" }
9、返回数据格式符合如下规范(大部分公司不按这个)
-多条数据返回列表 GET /collection:返回资源对象的列表 [{name:zys,age:19},{name:pyy,age:33}]
-单条数据返回字典 GET /collection/resource:返回单个资源对象 {name:zys,age:19}
-新增,返回新增的对象---》{name:zys,age:19} POST /collection:返回新生成的资源对象
-修改,返回修改后的对象--》{name:zys,age:19} PUT /collection/resource:返回完整的资源对象
-修改,返回修改后的对象--》{name:zys ,age:19} PATCH /collection/resource:返回完整的资源对象
-删除,返回空文档 DELETE /collection/resource:返回一个空文档 -->{code:100,msg:删除成功}
10、返回资源中链接地址
{ "id": 1404376560, "description": "人生五十年,乃如梦如幻;有生斯有死,壮士复何憾。", "url": "http://blog.sina.com.cn/zaku", "profile_image_url": "http://tp1.sinaimg.cn/1404376560/50/0/1", "domain": "zaku", }
微博开放平台
https://api.weibo.com/2/account/get_uid.json