将同样功能的不同操作的接口使用method来控制而不使用多个视图函数的方式
api与用户通信建议使用https
url规范
- 子域名来区分 (这样容易出现跨域的问题)
- 前端域名使用www.fandx.com
- 后端域名使用api.fandx.com
- url方式来区分 (很简单就可以实现了)
- 前端使用www.fandx.com
后端使用www.fandx.com/api
版本
www.fandx.com/api/v1/
接口命名(使用名词)
www.fandx.com/api/v1/名词
method形式
- get 查询
- post 添加
- put 在服务器更新资源(客户端提供改变后完整的资源)
- patch 在服务器更新资源 (客户端提供改变的属性)
delete 从服务器删除资源
过滤,通过url上传参的心声传递搜索条件
- ?limit=10 指定返回记录的数量
- ?offset=10 指定返回记录的开始位置
- ?page=2&per_page=100 指定第几页,以及每一页记录数
- ?sortby=name&order=asc 指定返回结果按照哪个属性排序,以及排序顺序
?animal_type_id =1 指定筛选条件
状态码
- 200 成功
- 300 重定向
- 400 客户端错误
- 401 用户没有权限令牌
- 403 用户得到授权,但是访问是被禁止的
404 访问的资源找不到
- 500 服务器内部错误错误返回建议error当做key
返回结果
- get /collection 返回资源列表 - get /collection/resource 返回单个资源对象 - post /collection 返回新生成的资源对象 - put /collection/resource 返回完整的资源对象 - patch /collection/resource 修改局部,返回完整的资源对象 - delete /collection/resource 返回一个空文档
Hypermedia API , 自动生成url 知道下一步应该怎么去做