1. 程式人生 > 其它 >微信小程式--iphone全面屏手機底部小黑條安全區域適配方案

微信小程式--iphone全面屏手機底部小黑條安全區域適配方案

Restful API

Restful API 是一種網際網路軟體架構設計的設計規範,設計指南,設計風格和設計原則。

由於前後端分離,前後端通訊為了有一個統一的機制,restful api作為制定介面標準的規範而產生了。

設計原則以及規範

  • 協議。API與使用者的通訊協議,總是使用HTTPs協議

  • 域名。應儘量將API部署在專用域名之下

  • 版本。應將API版本號放入URL中

  • 統一介面。對業務資料增刪改查(CRUD),Restful用HTTP方法與對應。

    CRUD HTTP Methods
    Create(增) POST
    Read(查) GET
    Update(改) PUT
    Delete(刪) DELETE
  • URL中只能有名詞,不能出現動詞。這是因為在REST要求對資源的操作由HTTP方法給出,而方法是由HTTP請求報文頭部給出的,自然不需要在URL中暴露操作方式。資源名應該使用複數形式,使用users而不是user。

  • 狀態碼。伺服器向用戶返回的狀態碼和提示資訊,常見的有以下一些

    狀態碼 提示資訊
    200 ok-[GET]:伺服器成功返回使用者請求的資料,該操作是冪等的,就是無論你訪問多少次都是一樣的。
    201 CREATED-[POST/PUT/PATCH]: 使用者新建或修改資料成功
    204 NO CONTENT-[DELETE]: 使用者刪除資料成功
    302 Found-[*]:臨時重定向(請求的資源已被分配新的URL,希望使用者本次使用新的URL)
    400 INVALID REQUEST-[POST/PUT/PATCH]:使用者發出的請求有錯誤,伺服器沒有進行新建或者修改資料的操作,該操作也是冪等的
    401 Unauthorized-[*]:表示使用者沒有許可權(令牌、使用者名稱、密碼錯誤)
    403 Forbidden-[*]:表示使用者得到授權(與401錯誤相對),但是訪問是被禁止的
    404 NOT FOUND-[*]:使用者發出的請求針對的是不存在的記錄,伺服器沒有進行操作,該操作是冪等的。簡單說就是請求資源路徑不存在。
    500 Internal Server Error-[*]:伺服器在執行請求時發生錯誤
    503 Service Unavailable-[*]:伺服器暫時處於超負載或是正在進行停機維護,現在無法處理請求
    狀態碼類別
    • 1XX(資訊性狀態碼)表示接收的請求正在處理
    • 2XX(成功狀態碼)表示請求正常處理完畢
    • 3XX(重定向狀態碼)表示需要進行附加操作以完成請求
    • 4XX(客戶端錯誤狀態碼)表示伺服器無法處理請求
    • 5XX(伺服器錯誤狀態碼)表示伺服器處理請求出錯
  • 錯誤處理。如果狀態碼是4XX,就應該向使用者返回出錯資訊。返回的資訊中將error作為鍵名,出錯資訊作為值即可。

RESTful API 的好處

  • 規範API設計
  • 增強API的可讀性
  • 方便前後端協作