在RESTful架構中,每個網址代表一種資源(resource),所以網址中不能有動詞,只能有名詞,而且所用的名詞往往與資料庫的表名對應。一般來說,資料庫中的表格都是同種記錄的"集合"(collection),所以API中的名詞也應該使用複數。
GET /zoos:列出所有動物園
POST /zoos:新建一個動物園
GET /zoos/ID:取得某個指定動物園的資訊
PUT /zoos/ID:更新某個指定動物園的資訊(提供該動物園的全部資訊)
PATCH /zoos/ID:更新某個指定動物園的資訊(提供該動物園的部分資訊)
DELETE /zoos/ID:刪除某個動物園
那問題來了,登入介面怎麼命名呢?
在RESTful架構中,每個網址代表一種資源(resource),所以網址中不能有動詞,只能有名詞,而且所用的名詞往往與資料庫的表名對應。一般來說,資料庫中的表格都是同種記錄的"集合"(collection),所以API中的名詞也應該使用複數。
GET /zoos:列出所有動物園
POST /zoos:新建一個動物園
GET /zoos/ID:取得某個指定動物園的資訊
PUT /zoos/ID:更新某個指定動物園的資訊(提供該動物園的全部資訊)
PATCH /zoos/ID:更新某個指定動物園的資訊(提供該動物園的部分資訊)
DELETE /zoos/ID:刪除某個動物園
那問題來了,登入介面怎麼命名呢?
<code>POST /logins/</code>
<code>get sessions/new 登录页面 post sessions/create 登录 post sessions/destroy 注销 </code>
把session 抽象化成一種資源
RESTful只是一種命名建議,而不是什麼規範,所以你用login/signup是沒問題的,老闆又不會因此扣你工資。
一定要這麼精緻的話建議換個思路
登入即取得授權
取得授權 這樣說明白了吧
雖然我有時候也很想精緻..不過該粗暴且無傷大雅的地方還是簡單粗暴吧...因為活兒是大家合作幹的..萬一整的太高端搞得人家一臉懵逼就不太合適了...