我正在使用使用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
是否可以在一个请求中创建它?
答案 0 :(得分:1)
JSON:API规范不支持在v1.0(当前的稳定版本)的一个请求中创建,更新或删除多个资源。
即将推出的v1.1计划支持Extensions,这可以扩展基本规范。规范的维护者之一提供了一个Atomic Operations extension的建议。它是planned to be released with v1.1的官方扩展名。