REST api - 我可以在另一个API中调用多个API吗?如果其中一个内部API调用失败,会发生什么?

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

所以我对REST API设计有疑问:

我有多个具有特定行为的REST API,例如更新车辆状态(例如,可用,租用,维护,退役),其进行一些验证以检查车辆当前是否具有任何租用预订,然后更改状态以表示退休等。另一个是记录任何损坏的实例。一旦车辆从租用中返回,这只记录车辆状况的一般评论。另一个从使用中退出车辆(例如生命末期),这复制了其他两个API的逻辑和动作,作为此RETIRE API的一部分。

但是,我想通过更改RETIRE API来调整代码/逻辑的重复,以便在调用此API时调用各个API,这将有助于我需要更改其他API的逻辑并阻止我在RETIRE api中复制此逻辑。

因此,在当前的API设计中存在错误处理,例如如果特定操作导致错误,则API将回滚事务并向用户显示错误原因,否则提交已更改的数据。这非常有效。

但是,如果我在此RETIRE API中调用每个API,我该如何处理错误,例如如果RETIRE API首先调用'DAMAGE API'来记录任何损坏并且成功它将提交数据,但随后'VEHICLE STATUS'API失败它将向用户发送相关错误的响应,但这是在哪里问题是,损坏API已经运行并成功,所以这个数据已经保存了...所以如果用户再次尝试,这次一切都成功,我将在“损坏”部分有重复的数据。

那么,一旦成功返回所有API,我怎样才能提交所有API的数据?或者更好的是让3个API仍然彼此独立,但可能会创建函数并在每个API中调用这些函数,所以如果我改变给定操作的逻辑,他们都会效仿吗?

抱歉这个故事,但我只是想帮助解决我的问题。

提前致谢

rest api
1个回答
1
投票

您的描述表明您希望RETIRE API使用DAMAGE API中的某些逻辑,但不是所有逻辑......因此,您要将要重用的内容分解为可由两个API调用的内部方法。

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