JSON API V1创建嵌套资源

时间:2020-07-20 18:11:19

标签: json-api

我正在使用使用AR作为ORM的Grape API实现与JSON API V1兼容的API。我对创建嵌套资源/关系的格式有些困惑。看来我们需要一次创建一个资源,并且可以链接到现有资源。但是我们不能说在同一请求中为onTap: () => { Navigator.push( context, MaterialPageRoute( builder: (context) => SomeOtherScaffold())) }, 关系创建记录。

我的情况:有一个has many模式。它有许多Donation。拆分属于Split。我需要创建带有多个拆分的捐赠。

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

浏览文档几次,我想我不能在一个API调用中进行捐赠,因此必须分别创建每个资源,并且可能会运行最终提交以触发捐赠。

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

POST Fund

/api/v1/donations

第2步:创建拆分1

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

/api/v1/splits

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

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

/api/v1/donations/100

是否可以在一个请求中创建它?

1 个答案:

答案 0 :(得分:1)

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

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

相关问题