2015-07-20 86 views
4

如果我決定使用複數表示所有路由名稱,但某些資源只存在於一個事物中,那麼是否將它保留爲單數形式(更直觀)還是尊重使用複數的決定並保持這種方式?RESTful資源:當數據庫中的資源總是單數時,複數與單數相關

我們正在設計一個新的API爲我們的客戶門戶在PHP中,我們有這樣的事情上來:

/API /命令/或-a41931-0001 /特殊協議/

而一個訂單隻能有一個特別的協議(並沒有其他類型的協議btw所以我不能做/協議/?type = special或類似的東西)。

如果訂單必須有只有一個,那麼通常會採用/ special-agreements /還是/ special-agreement /使用?

回答

3

更多的意見基礎的問題,但...

據我看到的,主要有兩種類型的資源:收集和實例。

A 集合將是「用戶」。您可以訪問/用戶以獲取用戶列表,或訪問/ users/id以獲取特定用戶。具體用戶通常是實例

在這種情況下,多個用戶的原因是因爲它是一個集合。如果沒有進一步的潛力(訪問集合的一個實例),使用/用戶s是沒有意義的。

如果您在訪問自己的個人資料,你只有一個配置文件,所以你應該在/ profile文件,而不是/型材(例如未收集)

你的情況可以訪問它,只有一個協議,所以它不是收集,不需要協議ID來訪問它,因此不應該是複數。

+0

非常感謝你!很高興聽到這個消息。 – NullHypothesis