有什么方法可以使用回滚由一组连续的 API 网络调用执行的数据库操作来帮助自动化

问题描述 投票:0回答:1

有什么方法可以使用回滚由一组连续的 API 网络调用执行的数据库操作来帮助自动化

例如,如果我有一个测试脚本来测试我的应用程序 所以我的测试脚本在内部将与我的应用程序一起运行并调用 3 个 API,这些 API 将对数据库进行更改(插入、更新、删除)

所以现在如果我的测试用例失败了,我想回滚它通过这 3 个 API 执行的所有操作

那么在前端 (Typescript) 或后端 (C#) 中处理它的最佳方法是什么

我只是想 我可以在 BackEnd 中再写 2 个 API,这样

  1. 一个开始事务,以便所有 API 都将在该事务下执行
  2. 基于那个回滚或提交

所以它对我有帮助,但问题是每个 API 都有单独的会话,并且不会设置事务所以有人对处理它有任何想法或建议吗

这会给数据库带来任何麻烦,例如安全问题等吗?

api rest distributed-transactions
1个回答
0
投票

通过 API 完成回滚更改的标准方法是 Saga 模式。查看 temporal.io 开源项目中的 Typescript Saga 示例

© www.soinside.com 2019 - 2024. All rights reserved.