一、Restful规范
# REST: 表征性状态转移(Representational State Transfer) # RESTful规范:web数据请求接口设计规范 规范规定了两部分: 1 url链接应该怎么写 2 返回的数据格式如何写
二、规范要点
1)通常使用https请求 2)链接会出现api字眼 https://api.baidu.com https://www.baidu.com/api 3)版本:不同版本需要标注 - https://example.com/api/v1 - https://example.com/api/v2 4)资源:请求的目标数据称之为资源,单资源采用资名称名词的复数 https://api.baidu.com/v2/book | https://api.baidu.com/v2/books https://api.baidu.com/book | https://api.baidu.com/book 5) 请求方式:错误示范 - get_book|add_book https://api.baidu.com/get_book|add_book 正确示范 - book https://api.baidu.com/book 请求方式的正确使用:不是通过动词,而是通过请求的方式决定操作资源的方式 - get:https://example.com/api/v1/books 获取所有 - post:https://example.com/api/v1/book 新增一本 - put:https://example.com/api/v1/book/1 更新id=1的一本 - patch:https://example.com/api/v1/book/1 更新id=1的一本 - delete:https://example.com/api/v1/book/1 删除id=1的一本 6)资源过滤:通过接口传递参数来过滤资源 - https://example.com/api/v1/books?limit=10 限制10条 7)数据状态码:返回数据要标准状态吗,通过在数据中{'status': 0} - 注:数据状态码都是约定的 - SUCCESS("0", "查询成功") - NODATA("1", "非正确,无数据,显示基本信息") - FEAILED("2", "查询失败") 8)错误信息:请求失败需要标注错误信息 - {"error": "错误信息"} => {"msg": '数据状态描述信息'} 9)数据(操作的资源返回结果) {"results": []} | {"data": []} - get:返回资源列表 | 返回单一资源 - post:返回单一新增资源 - put:返回更新的资源 - patch:返回更新的资源 - delete:返回空文档 10)子资源返回资源接口:返回的资源如果有子资源,返回子资源的链接地址,如查找书,书的封面图片就可以url表示 总结: 安全的数据是接口 版本号 名词 请求方式 资源限制 数据状态码 数据信息 子资源的表示方式