干净的 REST 路线

clean REST routes

我不确定我的 REST 命名。

我有 3 条路线:

GETDELETEPUT /book/:bookId/translation/:translationId

使用 GET 我得到了一本书的翻译。使用 DELETE 我删除了一本书的翻译。使用 PUT 我更改了翻译。

但是 POST 路由的命名如何? POST 我将为一本书创建一个新的翻译。

最好是 /book/:bookId 还是 /book/:bookId/translation

非常感谢您的反馈!

Should it better be /book/:bookId or /book/:bookId/translation

/book/:bookId/translation 似乎对新翻译的 POST 最有意义,原因如下:

  1. 您正确指定了要发布的内容(对特定图书 ID 的翻译)。
  2. 这与您使用 /book/:bookId/translation/:translationId.
  3. 查询翻译的方式一致
  4. 这与您通过在 /book/:bookId/translation 上执行 GET 查询翻译列表的方式一致。
  5. 这个总体方案是有意义的,因为它是什么类型的对象,后面是一个对象id,然后是什么类型的子对象。