【问题标题】:clean REST routes清理 REST 路由
【发布时间】:2017-06-11 14:31:49
【问题描述】:

我不确定我的 REST 命名。

我有 3 条路线:

GET 和 DELETE 和 PUT /book/:bookId/translation/:translationId

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

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

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

非常感谢您的反馈!

【问题讨论】:

  • 您是发布到该 ID 的图书还是发布到该 ID 的翻译?这样做是否有意义?
  • 我们需要更多地了解 POST 实际在做什么才能评论路由的命名。
  • 好吧对不起,我会更新我的帖子!
  • 鉴于您的新解释,我认为您希望 POST 为 /book/:bookId/translation 以指定您正在为特定书籍和 bookId 创建新翻译,并且与您使用的方式一致GET 和 DELETE。

标签: node.js rest url-routing


【解决方案1】:

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

由于以下原因,/book/:bookId/translation 似乎最适合 POST 新翻译:

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

【讨论】:

    猜你喜欢
    • 2010-12-14
    • 2021-09-18
    • 2014-09-15
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    相关资源
    最近更新 更多