JSON API V1 创建嵌套资源
JSON API V1 Creating Nested Resources
我正在使用使用 AR 作为 ORM 的 Grape API 实现 JSON API V1 兼容 API。我对创建嵌套资源/关系的格式有点困惑。看起来我们需要一次创建一个资源并且可以 link 到 exisitng 资源。但是我们不能说在同一个请求中为 has many
关系创建记录。
我的情况:有Donation
模态。它有很多Split
。一个拆分属于一个Fund
。我需要创建一个有多个拆分的捐赠。
问题:如何根据JSON:API建议构建API?
看了几次文档,我想我不能在一次 API 调用中完成捐赠,我将不得不单独创建每个资源,并且可能是 运行 的最终提交触发捐赠。
第 1 步:创建捐赠 - 假设 returns ID 100
POST /api/v1/donations
{ type: "donation", data: { comments: "abc" } }
第 2 步:创建分组 1
POST /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规范在v1.0中不支持在一个请求中创建、更新或删除多个资源,这是当前的稳定版本。
即将推出的 v1.1 计划支持 Extensions, which allow to extend the base specification. There is a proposal of a Atomic Operations extension provided by one of the maintainers of the specification. It's planned to be released with v1.1 作为官方扩展。
我正在使用使用 AR 作为 ORM 的 Grape API 实现 JSON API V1 兼容 API。我对创建嵌套资源/关系的格式有点困惑。看起来我们需要一次创建一个资源并且可以 link 到 exisitng 资源。但是我们不能说在同一个请求中为 has many
关系创建记录。
我的情况:有Donation
模态。它有很多Split
。一个拆分属于一个Fund
。我需要创建一个有多个拆分的捐赠。
问题:如何根据JSON:API建议构建API?
看了几次文档,我想我不能在一次 API 调用中完成捐赠,我将不得不单独创建每个资源,并且可能是 运行 的最终提交触发捐赠。
第 1 步:创建捐赠 - 假设 returns ID 100
POST /api/v1/donations
{ type: "donation", data: { comments: "abc" } }
第 2 步:创建分组 1
POST /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规范在v1.0中不支持在一个请求中创建、更新或删除多个资源,这是当前的稳定版本。
即将推出的 v1.1 计划支持 Extensions, which allow to extend the base specification. There is a proposal of a Atomic Operations extension provided by one of the maintainers of the specification. It's planned to be released with v1.1 作为官方扩展。