【问题标题】:JSON API V1 Creating Nested ResourcesJSON API V1 创建嵌套资源
【发布时间】:2020-11-10 01:31:19
【问题描述】:

我正在使用 Grape API 实现一个 JSON API V1 兼容的 API,该 API 使用 AR 作为 ORM。我对创建嵌套资源/关系的格式有点困惑。看起来我们需要一次创建一个资源,并且可以链接到现有资源。但是我们不能说在同一请求中为has many 关系创建记录。

我的情况:有Donation 模态。它有很多Splits。拆分属于Fund。我需要创建一个包含多个拆分的捐赠。

问题:如何根据JSON:API 的建议构建API?

通过几次文档,我认为我无法在一次 API 调用中进行捐赠,并且必须单独创建每个资源,并且可能会运行最终提交以触发捐赠。

第 1 步:创建捐赠 - 假设返回 ID 100

发布/api/v1/donations

{ type: "donation", data: { comments: "abc" } }

第 2 步:创建拆分 1

发布/api/v1/splits

{
  type: "split",
  data: { amount: 100_00 },
  relationships: {
    data: [{ type: "fund", id: 5 }, { type: "donation", id: 100 }]
  }
}

最后:用类似的东西触发捐赠

补丁/api/v1/donations/100

{
  type: "donation"
  data: { 
    state: "process"
  }
}

有没有办法在一个请求中创建它?

【问题讨论】:

    标签: json-api


    【解决方案1】:

    JSON:API 规范在 v1.0 中不支持在一个请求中创建、更新或删除多个资源,这是当前的稳定版本。

    即将推出的 v1.1 计划支持Extensions,这允许扩展基本规范。该规范的维护者之一提供了Atomic Operations extension 的提案。官方扩展名是planned to be released with v1.1。

    【讨论】:

    • 有趣...但目前,我们将不得不进行单独的 api 调用...非常感谢...该文档有很多值得阅读的内容...
    猜你喜欢
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2020-10-17
    • 1970-01-01
    • 2013-10-16
    • 2019-08-22
    相关资源
    最近更新 更多