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

时间:2017-12-22 08:42:56

标签: rest api grails3

我有以下情况:

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

多个用户多次调用

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

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

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

1 个答案:

答案 0 :(得分:1)

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

修改

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