【问题标题】:Simple REST URL scheme简单的 REST URL 方案
【发布时间】:2023-03-29 12:41:01
【问题描述】:

在我的网络应用程序中,我有一个 user 模型和一个 journalpost 模型。每个用户可以有多个期刊,每个期刊可以有多个帖子。下面是用 RESTful 方式表示这一点的最佳方式吗?

/profiles/<username>
/profiles/<username>/journals/<journal_id>
/profiles/<username>/journals/<journal_id>/posts/<post_id>

或者会:

/profiles/<username>
/journals/<journal_id>

做一个更好的方法?

【问题讨论】:

  • 您可能会发现this link 很有用。它有点旧,但仍然非常重要(官方的 Rails 指南也将其作为推荐资源)。
  • 感谢您的链接,刚刚阅读完毕。所以除非有其他因素需要考虑,否则更扁平的层次结构被认为是经验法则?
  • 我会设计它,以便用户必须为每个期刊选择一个 url slug。 URL中的数字ID越少越好。一些系统甚至试图通过将帖子主题转换为一种临时 url slug 来消除 post_id。我不相信这不是矫枉过正。
  • @JC。谢谢你现在提到它,肯定会在 URL 中使用 slugged 帖子/期刊标题

标签: rest restful-url


【解决方案1】:

您拥有三种类型的资源:个人资料、期刊和帖子。

如果您的业务需求是允许最终用户访问所有这些资源,您将需要根据您的需要在这些资源上提供 PUT/POST/GET/DELETE CRUD operations(您可能不需要对所有资源都认为)

/profiles/<username>/
/journals/<journal_id>/
/posts/<post_id>/

如果您需要提供这些资源之间的逻辑映射和关系,您还需要提供以下内容:

/profiles/<username>/journals/<journal_id>
/profiles/<username>/journals/<journal_id>/posts/<post_id>

您还可以查看此posting as 考虑资源之间业务关系映射的方法。

【讨论】:

    猜你喜欢
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 2010-09-05
    • 2017-10-13
    • 2012-01-18
    • 2016-03-09
    相关资源
    最近更新 更多