我有休息客户端API从我的服务器通过/read
端点访问数据。但是,我有一个internal batch service
调用我的服务器的/write
端点来更新数据。因此,有时来自服务器的数据会更新。我如何告诉客户数据已更新并要求它再次调用/read
端点以获取最新数据?
下面是该场景的高级图表。
试试学习webhooks?基本上,客户端将“订阅”您的webhook,或者为了使其更容易,客户端将为服务器提供端点。只要有更新,您的服务器就会向客户端发送请求。客户端应该只调用一个服务,只要它收到来自webhook的请求,就会获取read
。
它基本上是这样的
/updateAvailable
/updateAvailable
发送请求'/ updateAvailable'端点可以调用更新内容的服务。假设发送的请求有一个参数
{
"updateFound":true
}
因此,无论何时调用客户端的'/ updateAvailable'并接收请求,您都会执行此类操作(伪代码)
if (updateBody.updateFound.message=true)
then call read()
编辑
通过为客户端创建端点,您还可以执行自动更新。所以客户端有一个/updateAvailable
端点。服务器将更新发送到/updateAvailable
端点,该端点从客户端调用/read
使用的任何服务
您的问题有两种解决方案: