restful规范
什么是restful规范
- REST是Representational State Transfer的缩写,RESTful是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中。
10个规范
- 数据安全的保障,通常使用HTTPS协议
- 接口中带API标识
如:https://api.xxx.com/xxx
如:https://www.xxx.com/api/xxx/xxx - 多版本共存,路径中带版本信息
如:https://api.xxx.com/v1/
如:https://www.xxx.com/api/v1/xxx - 数据即资源,均使用名词(如下面的users/books都是名词)
如:https://api.xxx.com/users/
如:https://www.xxx.com/api/books/
注意:一般提倡使用资源的复数形式。在url中不要出现操作资源的动词,如delete-book
特殊的可以出现动词,如login/这种。 - 资源操作由请求方式决定(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的书
- 在请求地址中带过滤条件
https://api.baidu.com/books?name=人性的弱点&price=36 - 响应中状态码,一般会有两套,一套是规范的,一套是公司内部规定的
http响应状态码:1xx:请求正在处理,2xx:成功响应,3xx:重定向,4xx:客户端错误,5xx:服务端错误 - 返回数据中带错误信息
- 返回的结果应该符合以下规范(注意:很多公司不遵循此规范)
- GET 获取所有数据:返回资源对象的列表(数组)[{name:红楼梦,price:99},{name:红楼梦,price:99},{name:红楼梦,price:99}]
- GET 单个对象:返回单个资源对象:
- POST 新增对象:返回新生成的资源对象:
- PUT 修改对象:返回完整的资源对象 :
- DELETE 删除:返回一个空文档
- 响应数据中带链接地址
分类:
python相关 / drf
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?