将同样功能的不同操作的接口使用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 知道下一步应该怎么去做

12-22 14:13
查看更多