如何使用单个 POST 请求创建多个关联记录?

这里的资源是一个日志类型,它将创建 5 个不同的记录,一个用于天气、位置等……它们都将共享关联。

据我了解,惯例是为每个资源创建一个帖子,但如果这些资源需要其他记录的外键,我不知道如何跟踪与该日志相关的所有记录的 ID。

现在,我正在发送在单个请求中创建所有资源所需的所有数据,如果出现错误,则不会创建任何数据,因为我将使用事务。那是惯例吗?


holdtom
浏览 204回答 1
1回答

杨魅力

惯例是为每个资源创建一个帖子当一个对象受一个用户操作影响时,当您有一个简单模型时,此约定非常有效。该模型非常普遍,并且在每本 REST 书籍/文章中都有实现。现实要复杂得多,您的问题就是一个很好的例子。为每个表实现 PUBLIC API 是众所周知的,不幸的是反模式广泛传播:https://martinfowler.com/bliki/AnemicDomainModel.html根据经验,围绕您的业务问题构建您的解决方案,而不是围绕技术框架或模式。现在我在一个请求中发送创建所有资源所需的所有数据这听起来是个不错的解决方案。一项业务操作 -> 一次 API 调用 -> 一项数据库事务。它很好也很简单。如果没有必要,不要让它变得更复杂。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go