php - 每个用户 api 的数据同步
问题描述
我暴露了问题:
我有用于离线客户端应用程序的 api。
例如,我有许多端点:
- endpoint1 : GET /api/foo (根据连接的用户和业务逻辑返回资源)
- endpoint2 : GET /api/bar (根据连接的用户和业务逻辑返回资源)
- endpoint3 : GET /api/fou (根据连接的用户和业务逻辑返回资源)
我们只想在资源发生变化时调用这个 url。
- 解决方案 1:为每个端点添加 Etag,客户端调用 url
if-none-match: Etag
在互联网非常薄弱的环境中,使 X(端点数量)请求看起来不太好。
- 解决方案2:客户端调用url /api/resourceVersion 以连接用户为例,我们返回
{
endpoint1: 'HASH1' or (true | false),
endpoint2: 'HASH2' or (true | false),
endpoint3: 'HASH3' or (true | false),
}
真有变,假无变。
如果为真,则客户端调用特定端点来更新他的本地数据
这个解决方案的问题是,当客户端调用 api/resourceVersion 时,我们无法调用每个端点来检查资源是否随 Etag 或其他更改。
我的问题:端点 /api/resourceVersion 是否有强大的解决方案?