在RESTful产品上处理批量操作回滚

问题描述:

我拥有的产品是使用Spring Data REST,并希望遵循其架构,但该产品需要处理n个资源上的更新,作为用户的单个操作。在这样的情况下,我们必须考虑到,如果我们在第n次更新操作中遇到问题并且回滚,那么在出现这种问题的情况下,用户将不得不备份所有待更新的数据,并且全部更新n-1资源备份此备份数据。还有可能在回滚期间我们可能会遇到另一个麻烦,并且整个回滚可能会失败,从而导致很多问题。在RESTful产品上处理批量操作回滚

如何在不放弃Spring Data REST的RESTful CRUD端点(意思是不创建自定义批处理端点以打破体系结构)的情况下由用户正确处理所有这些?

我的问题是想知道如何安全地处理以上场景作为未定制的Spring Data REST产品的用户。

我认为this解答了关于使控制器端点事务性的问题,但是如果您想要任意相关的更新是事务性的,那么您并不是真正在谈论RESTful API。

+0

我同意,这就是为什么我的问题的重点不是通过添加自定义控制器等来修改Spring Data REST及其体系结构,而是如何管理我为这种RESTful产品的用户提供的场景。 –

+0

简短的答案是用户没有。这是一个糟糕的设计。 Spring Data REST是一个非常有见地的工具,它想用作CRUD API。要以对用户有用的方式添加所需的功能意味着在Spring Data REST中添加集合交互,而不是打破工具范例,尝试一次性解决方案。 –