我正在构建一个具有或多或少复杂资源的 REST API。
假设,我在幕后有以下数据库结构。
父基:id|name
ChildBase:id|name|parentId
因此,显然 childBase 的“parentId”列是 ParentBase 的 id 字段的外键。
是否允许在一个发布请求中与其父级创建一个子级并管理关系服务器端。我的有效载荷如下所示,网址为“/api/parents”:
{
id: <set by server>,
name: Homer,
{
id: <set by server>,
name: Lisa,
parentId: <set by server (Homer's id)>
}
}
还是我必须先使用自己的发布请求创建父级,然后获取返回的 id,将其设置为孩子的 parentId 并与孩子进行第二次发布请求?所以发送到 url “/api/parents”:
{
id: <set by server>,
name: Homer
}
现在我得到了 Homer 的 id=35,我可以用有效载荷向“/api/children”发送第二个请求:
{
id: <set by server>,
name: Lisa,
parentId: 35
}
那么什么是最佳实践呢?
(我正在使用带有 sqlachemy 和 marshmallow 的烧瓶。所以也许你也有提示如何使用这些框架解决这个任务)