这里的资源是一个Log类型,将创建5个不同的记录,一个用于天气,位置等…它们都将共享关联。
我的理解是,惯例是为每个资源创建一个帖子,但如果这些资源需要其他记录的外键,我无法弄清楚如何跟踪与该日志相关的创建的记录的所有id。
现在,我正在发送创建单个请求中所有资源所需的所有数据,如果出现一个错误,则不会创建任何资源,因为我将使用事务。这是惯例吗?
惯例是为每个资源创建一个post
当您有一个简单的模型,其中一个对象受一个用户操作的影响时,此约定非常有效。该模型非常常见,并且在每本REST书籍/文章中都有实现。
现实更复杂,你的问题就是一个很好的例子。在每个表上实现PUBLIC API是众所周知的,不幸的是它被广泛传播的反模式:
https://martinfowler.com/bliki/AnemicDomainModel.html
经验法则,围绕您的业务问题构建您的解决方案,而不是围绕技术框架或模式。
现在我正在发送创建所有资源所需的所有数据在单个请求
中
听起来是个很好的解决方案。一个商业行为->一个API调用->一个DB事务。这很好也很简单。如果没有必要,不要把它弄得更复杂。