2017-06-11 90 views
0

我不確定我的REST命名。乾淨的REST路由

我有3種途徑:

GETDELETEPUT/書/:BOOKID /翻譯/:translationId

隨着GET我得到的翻譯書。用DELETE我刪除了一本書的翻譯。並與PUT我改變翻譯。

但是如何命名爲POST路由? With POST我將爲一本書創建一個新的翻譯。

它應該最好是/書/:BOOKID/書/:BOOKID /翻譯

Thanks's很多關於您的反饋!

+1

您是否在該ID的書中發帖,或者您是否在該ID的翻譯過程中發帖?而且這樣做甚至有意義嗎? – Rob

+0

我們需要更多地瞭解POST實際上在做什麼,以評論路線的命名。 – jfriend00

+0

好吧,對不起,我會更新我的帖子! –

回答

1

它應該更好的爲/書/:BOOKID或/書/:BOOKID /翻譯

看來,/book/:bookId/translation將最有意義的一個新的翻譯,原因如下的POST:

  1. 您正確地指定了您要發佈的內容(對特定書籍ID的翻譯)。
  2. 這與您如何通過/book/:bookId/translation/:translationId查詢翻譯一致。
  3. 這將與您如何通過在/book/:bookId/translation上執行GET來查詢翻譯列表一致。
  4. 這個整體方案是有意義的,它是什麼類型的對象,其次是對象ID,後面是什麼類型的子對象。