【问题标题】:Is it permissible to have relationships to parents of parents for JSON:API resources?JSON:API 资源是否允许与父母的父母建立关系?
【发布时间】:2020-03-30 08:55:00
【问题描述】:

我有以下层次结构:

venue -> concert -> booking

在预订期间,我与音乐会有关系。但是预订也应该与场地有关系吗?或者在那种深度建立关系是不好的做法?

如果预订中也有座位怎么办?与场地的关系仍然合理吗?

或者最好是通过两次请求来获得场地?例如。使用预订 -> 音乐会关系,然后得到音乐会和场地的关系?

【问题讨论】:

    标签: json api design-patterns json-api


    【解决方案1】:

    您的 JSON:API 响应对象中的关系应该与现实世界相匹配。我认为 bookingvenue 之间的直接关系没有任何价值,如果这种关系是通过 concert 在现实中进行的。

    您无需直接关系即可避免额外请求。 JSON:API 规范支持包含深度嵌套的关系。

    假设预订可从 GET /bookings 端点获得,客户端可以要求后端包含 venues 执行 GET /bookings?include=concert.venue 请求(假设关系在 @987654326 上命名为 concert @ 和 venueconcert)。音乐会将被隐式包含在内。

    请在 JSON:API 规范中的Inclusion of Related ResourcesCompound Documents 章节中找到有关侧载相关数据的更多信息。

    【讨论】:

      猜你喜欢
      • 2012-07-16
      • 1970-01-01
      • 2017-12-04
      • 1970-01-01
      • 2014-07-01
      • 1970-01-01
      • 2011-01-12
      • 2022-07-21
      • 1970-01-01
      相关资源
      最近更新 更多