- 將同樣功能的不同操作的接口使用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 返回一個空文檔
