阻止REST API响应,直到调用另一个API

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

我有以下场景:

应用程序中有两个API调用:api1api2

从多个用户多次调用api1。我想阻止api1调用的所有响应,直到调用api2。将使用一个参数调用api2,该参数建议“释放”特定api1调用的响应。因此,每当调用api2时,一个特定的api1调用将响应,直到现在才被阻止(根据api1调用中传递的参数,可能存在多个api2释放)。

我想在grails中实现这一点。我有点空白如何实现这一点。有任何想法吗?

如果您知道可用于实现此目的的任何其他语言或框架,请分享。

rest api grails3
1个回答
1
投票

我想到的解决方案是在api1调用上使用互斥锁并在api2中释放它。您可能必须考虑api1的超时。

编辑

好吧,你可以有一个字典/互斥的地图,每个调用都有一个相应的互斥锁。当客户端调用api1时,服务器会生成一个互斥锁并将其添加到字典中,它也会尝试锁定互斥锁(默认情况下会锁定)。之后在api2上你只需要提供你在字典中用来解锁互斥锁的id。

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