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

处理RESTful产品上的批量操作回滚,rest,error-handling,spring-data-rest,Rest,Error Handling,Spring Data Rest,我拥有的产品正在使用SpringDataREST,并且希望完全遵循它的体系结构,但是该产品需要作为用户的单个操作来处理n个资源上的更新。在这样的场景中,我们必须考虑,如果在第n次更新操作中出现问题,并且要回滚,用户必须备份所有要更新的数据,如果出现此类问题,并使用此备份数据更新所有n-1资源。还有一种可能性是,在回滚期间,我们可能会遇到另一个问题,整个回滚可能会失败,从而导致许多问题 用户如何在不放弃SpringDataREST的RESTfulCRUD端点的情况下正确处理所有这些问题(这意味着不

我拥有的产品正在使用SpringDataREST,并且希望完全遵循它的体系结构,但是该产品需要作为用户的单个操作来处理n个资源上的更新。在这样的场景中,我们必须考虑,如果在第n次更新操作中出现问题,并且要回滚,用户必须备份所有要更新的数据,如果出现此类问题,并使用此备份数据更新所有n-1资源。还有一种可能性是,在回滚期间,我们可能会遇到另一个问题,整个回滚可能会失败,从而导致许多问题

用户如何在不放弃SpringDataREST的RESTfulCRUD端点的情况下正确处理所有这些问题(这意味着不创建自定义批处理端点来破坏体系结构)


我的问题是想知道如何作为一个非标准化Spring Data REST产品的用户安全地处理上述场景。

我想回答了您关于使控制器端点具有事务性的问题,但是如果您希望任意相关的更新具有事务性,你说的不是RESTful API。

我想我回答了你关于使控制器端点具有事务性的问题,但是如果你想让任意相关的更新具有事务性,你说的不是RESTful API。

我同意,这就是为什么我的问题不是通过添加自定义控制器等来修改SpringDataREST及其体系结构,而是如何管理我为这种RESTful产品的用户提供的场景。简单的回答是用户没有。这是个糟糕的设计。SpringDataREST是一个非常固执己见的工具,它希望作为CRUDAPI在中使用。要以对用户有用的方式添加所需的功能,意味着在Spring Data REST中添加集合交互,而不是打破工具范式来尝试一次性解决方案。我同意,这就是为什么我的问题重点不是通过添加自定义控制器等来修改Spring Data REST及其体系结构,但是如何管理我为这种RESTful产品的用户提供的场景,简单的回答是用户没有。这是个糟糕的设计。SpringDataREST是一个非常固执己见的工具,它希望作为CRUDAPI在中使用。要以对用户有用的方式添加所需的功能,意味着要在SpringDataREST中添加集合交互,而不是打破工具范式来尝试一次性解决方案。