Restful API 路由語義化設計風格
說明
以 http method 為主的設計方式 (CRUD 對應),是一種路由語義化的設計風格,可以透過 url
了解請求資源的「動作」與「資源」。
bash
瀏覽全部資料:GET 資源名稱 # GET https://www.example.com/todos
瀏覽特定資料:GET 資源名稱/:id # GET https://www.example.com/todos/1
新增一筆資料:POST 資源名稱. # POST https://www.example.com/todos
修改特定資料:PUT 資源名稱/:id # PUT https://www.example.com/todos/1
刪除特定資料:DELETE 資源名稱/:id # DELETE https://www.example.com/todos/1
動作
指的是 http 的 method
- GET 讀取資源
- POST 新增資源
- PUT 替換資源
- DELETE 刪除資源
- PATCH 更新資源部份內容
資源
指的是請求的 url
接口,相同的資源 url
必須是固定的。
bash
https://www.example.com/posts
https://www.example.com/posts/:id
建議
- 若有兩個字組合,建議使用
-
連結。 - 大多是使用「複數」命名
posts
特性
唯一資源接口
url
bash❌ GET /api/post/item DELETE /api/post/delete ✅ GET /api/posts/:id DELETE /api/posts/:id
可以由
url
來知道資料的階層語意化請求動作
methods
無狀態請求
缺點
- 請求數量驚人