restful规范

他是一个规范,面向资源架构

1.API与用户的通信协议,总是用https协议 (优点:与http明文的协议相比,进行了加密,更安全)

2.域名

https://api.example.com :尽量将API部署在专用域名上,但是会产生跨域问题.
https://example.org/api/:API很简单(我推荐)

3.版本

-https://api.example.com/v1/

  将版本号放在请求头中

4.路径,视网络上一切东西都是资源,均用名词来表示

5.method,通过请求方式来表示进行的操作

127.0.0.1/books/  get请求:表示获取所有图书
127.0.0.1/books/1 get请求:表示获取id为1的图书
127.0.0.1/books/ post请求:表示新增一本书
127.0.0.1/books/ delete请求:表示删除一本书
127.0.0.1/books/ put/patch请求:表示修改一本书

6.过滤,通过在url上传参的形式传递搜索路径

https://api.example.com/v1/zoos?limit=10:指定返回记录的数量
https://api.example.com/v1/zoos?offset=10:指定返回记录的开始位置
https://api.example.com/v1/zoos?page=2&per_page=100:指定第几页,以及每页的记录数
https://api.example.com/v1/zoos?sortby=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序
https://api.example.com/v1/zoos?animal_type_id=1:指定筛选条件

7.状态码

1 开头:服务器正在处理
2 开头:服务器处理成功
3 开头:重定向
4 开头:客户端错误
5 开头:服务器错误
-注意:在返回的数据中携带状态码

8.处理错误应返回错误信息,把error当做key

9.针对不同的操作,返回结果的数据格式不同

GET /collection:返回资源对象的列表(数组)
GET /collection/resource:返回单个资源对象
POST /collection:返回新生成的资源对象
PUT /collection/resource:返回完整的资源对象
PATCH /collection/resource:返回完整的资源对象
DELETE /collection/resource:返回一个空文档

10.返回结果中提供链接,提供连向其他API的方法.







原文地址:https://www.cnblogs.com/TRKOTW/p/10595750.html