2015-03-30 16 views
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風格的方式來做到這一點?

+0

根據例如REST的REST約束,對於'api/users/byemail/{email}',沒有任何不安全的地方。維基百科。我敢說有人甚至會聲稱一個電子郵件地址*是一個ID。 – bzlm 2015-03-30 20:16:58

回答

0

我的工作我的第一個基於REST的API過,所以我不認爲我以任何方式的專家,但我一般認爲你的終點應該看起來像

api/users?email="[email protected]" 

,你有一個索引視圖,你可以發送它的參數

相關問題