如何在JSON API中将嵌套关系与POST的属性相关联

时间:2018-06-06 07:58:09

标签: json-api

根据specresource identifier objects不包含属性。

我想做一个POST来创建一个包含其他嵌套资源的新资源。 这些是基本资源:分会名称)和许多职位 type )。想想一个有守门员,守门员,前锋,前锋等位置的足球俱乐部。

当我进行此关联时,我想设置一些属性,例如此特定团队所需的位置。例如,我只需要一名门将,但我想拥有一支拥有许多后备守门员的球队。当我在DB中对这些实体进行建模时,我将在链接表中设置所需的属性。

这不符合JSON API:

json { "data": { "type": "club", "attributes": { "name": "Backyard Football Club" }, "relationships": { "positions": { "data": [{ "id": "1", "type": "position", "attributes": { "required": "true" } }, { "id": "1", "type": "position", "attributes": { "required": "false" } } ] } } } }

这也无效:

json { "data": { "type": "club", "attributes": { "name": "Backyard Football Club", "positions": [{ "position_id": "1", "required": "true" }, { "position_id": "1", "required": "false" }] } } }

那么如何处理这种关联的最佳方法呢?

1 个答案:

答案 0 :(得分:0)

此处的最佳方法是为club_position

创建单独的资源

创建club会向创建club_positions返回一个网址,然后您会将club_positions发布到该网址,其中包含position和{{1}的关系标识符资源。

为此添加的好处是可以并行化club_positions创建。