微信小程式--iphone全面屏手機底部小黑條安全區域適配方案
阿新 • • 發佈:2022-12-01
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的可讀性
- 方便前後端協作