Skip to content
ADP
API Design PrincipleBETA

[ADP-319] 請求主體慣例

指南

  • 不要(MUST NOT)在 GET 方法中使用請求主體
  • 可(MAY)在 POST、PUT 和 PATCH 方法中使用請求主體
  • 當需要額外資訊時,可以(MAY)考慮在 DELETE 方法中使用請求主體
  • 應(SHOULD)發送請求主體時,始終使用適當的 Content-Type 標頭

詳細說明

GET 方法

GET 請求旨在檢索資源,而不對伺服器造成副作用。因此,它們不應包含請求主體。相反,應使用查詢參數進行過濾、排序或分頁等操作。

正確用法示例:

http
GET /users?role=admin&status=active

錯誤用法示例:

http
GET /users HTTP/1.1
Content-Type: application/json

{
  "role": "admin"
}

POST 方法

POST 請求用於創建新資源或提交數據進行處理。它們應包含一個請求主體,其中包含要處理的數據或要創建的資源的詳細資訊。

示例:

http
POST /users
Content-Type: application/json

{
  "username": "johndoe",
  "email": "john@example.com",
  "role": "user"
}