1
在標準RESTful API中,我們通常有GET()
(api/users
)返回資源的所有記錄和GET(id)
((api/users/{id}
))返回一條記錄。在RESTful API設計中,它是否必須通過Id進行GET?
但有時候,我們想要得到一個記錄,但不是Id
。例如,一個GetByName(username)
或GetByEmail(email)
。
我們當然不想撥打api/users
返回所有內容,並在客戶端過濾掉我們需要的記錄。
一些開發商實現了多點的API,如:
api/users/byname/{username}
api/users/byemail/{email}
這是一個好的做法呢?還是有更好的,更具REST風格的方式來做到這一點?
根據例如REST的REST約束,對於'api/users/byemail/{email}',沒有任何不安全的地方。維基百科。我敢說有人甚至會聲稱一個電子郵件地址*是一個ID。 – bzlm 2015-03-30 20:16:58