RESTFul服務接口編碼規(guī)范

版本(Versioning)

    所有的API必須保持向后兼容,必須在引入新版本API的同時確保舊版本API仍然可用。所以應該為其提供版本支持。必須在#URL中嵌入版本編號,格式要求如下:
    http://URL/api/v1/*

端點(Endpoints)

    端點就是指向特定資源或資源集合的URL。在端點的設計中,必須遵守下列約定:
   1、URL的命名 必須全部小寫
   2、URL中資源(resource)的命名必須是名詞,并且必須是復數(shù)形式
   3、必須優(yōu)先使用 Restful類型的URL
   4、URL 必須是易讀的
   5、URL 一定不可暴露服務器架構
   6、分頁查詢使用page區(qū)分
   7、批量操作使用list區(qū)分

HTTP動詞

   對于資源的具體操作類型,由HTTP動詞表示。常用的 HTTP動詞有下面五個(括號里是對應的 SQL命令)。
   GET(SELECT):從服務器取出資源(一項或多項)。
    POST(CREATE):在服務器新建一個資源。
    PUT(UPDATE):在服務器更新資源(客戶端提供改變后的完整資源)。
    PATCH(UPDATE):在服務器更新資源(客戶端提供改變的屬性)。
   DELETE(DELETE):從服務器刪除資源。

響應(Response)

   所有的API響應,必須遵守 HTTP設計規(guī)范,必須選擇合適的 HTTP狀態(tài)碼。一定不可所有接口都返回狀態(tài)碼為 200的 HTTP響應.
  下表列舉了常見的HTTP狀態(tài)碼:
  1xx代表請求已被接受,需要繼續(xù)處理
  2xx請求已成功,請求所希望的響應頭或數(shù)據(jù)體將隨此響應返回
  3xx重定向
  4xx客戶端原因引起的錯誤
  5xx服務端原因引起的錯誤
  只有來自客戶端的請求被正確的處理后才能返回2xx的響應,所以當 API 返回 2xx 類型的狀態(tài)碼時,前端 必須 認定該請求已處理成功。
   必須強調(diào)的是,所有API 一定不可返回 1xx類型的狀態(tài)碼。當 API發(fā)生錯誤時,必須返回出錯時的詳細信息并直接放入響應實體中。
    應該在返回的錯誤信息中,同時包含面向開發(fā)者和面向用戶的提示信息,前者可方便開發(fā)人員調(diào)試,后者可直接展示給終端用戶查看如:

{
"message": "直接展示給終端用戶的錯誤信息",
"error_code": "業(yè)務錯誤碼",
"error": "供開發(fā)者查看的錯誤信息",
}

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容