- 将同样功能的不同操作的接口使用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 返回一个空文档