Restful 规范
- API连接尽量避免繁复,通过连接的访问方式代表不同的工作要求
get: 获取post: 创建put: 全部更新 一条数据中的所有字段全部更新patch: 局部更新 一条数据中的部分字段进行更新delete: 删除
-
建议API使用HTTPS协议
-
域名分离,将API接口与用户访问的域名进行分离
用户访问连接为: www.abc.com/www.abc.com html
后端接口服务器为: api.abc.com/www.abc.com/api/ json
当域名不同时,可能会存在跨域请求问题,但是当子path作为接口路由时和页面的请求不会存在请求跨域的问题(浏览器有同源策略阻止访问非相同域名下的资源)
- API连接中尽量添加版本号
www.abc.com/api/v1/
- 在API连接中尽量对资源进行标识,可将资源名词添入连接path中
www.abc.com/api/v1/goods/
- 可在连接参数部分进行过滤,在增删改查时,提供筛选条件
www.abc.com/api/v1/goods/?id=1
- 通过对应HTTP协议中的状态码给客户端进行返回,表示相应的错误
data = {
code:1000,
data:xxxx
}
return HttpResponse(json.dumps(data),status=200)
- 对应操作的返回操作后的资源结果
- get: 返回查询的资源
- post: 返回创建的资源
- put: 返回更新的资源
- patch: 返回更新的资源
- delete: 返回删除的资源
Hypermedia思想
不光返回对应的资源信息,还返回对应资源详细信息的访问路由