[ADP-300] REST 概述
reviewing phase 1
連結所有 ADP
INFO
本 ADP 提供了 REST(表述性狀態轉移)原則和 API 設計最佳實踐的概述。
ADP 編號範圍:300-349
關鍵概念
資源 (Resource)
REST 以資源為中心,資源是系統中可以識別、命名、定址或處理的任何實體。資源通常是名詞,應使用清晰、描述性的術語命名。
表述 (Representation)
資源可以有多種表述形式,如 JSON、XML 或 HTML。表述格式通常使用 Content-Type
標頭指定。
HTTP 方法
RESTful API 使用標準 HTTP 方法對資源進行操作:
- GET:檢索資源
- POST:創建新資源
- PUT:更新現有資源
- DELETE:刪除資源
- PATCH:部分修改資源
關於 HTTP 方法,請見 ADP-110: HTTP 方法。
無狀態
客戶端向伺服器的每個請求必須包含理解和處理該請求所需的所有資訊。伺服器不應在請求之間存儲任何客戶端上下文。
最佳實踐
設計 RESTful API 時:
- 在端點路徑中使用名詞而非動詞
- 為保持一致性使用複數名詞(例如,使用
/users
而非/user
) - 適當使用 HTTP 方法進行 CRUD 操作
- 使用適當的 HTTP 狀態碼表示請求結果
- 實施適當的錯誤處理並提供有意義的錯誤訊息
- 使用查詢參數進行過濾、排序和分頁
- 對 API 進行版本控制以保持向後兼容性
以上內容在下列各 ADP 內會詳細描述。
相關 ADP
- ADP-301:資源命名
- ADP-302:HTTP 方法使用
- ADP-303:狀態碼
- ADP-304:錯誤處理
- ADP-305:分頁
- ADP-306:過濾和排序
- ADP-307:版本控制
- ADP-308:內容協商
- ADP-309:HATEOAS
- ADP-310:快取
- ADP-311:安全性
- ADP-312:速率限制
- ADP-313:冪等性
- ADP-314:批量操作
- ADP-315:長時間運行的操作
- ADP-316:部分更新
- ADP-317:條件請求
- ADP-318:跨源資源共享(CORS)