Swift 午睡支持HTTP长轮询吗

Swift 午睡支持HTTP长轮询吗,swift,siesta-swift,Swift,Siesta Swift,我有一个API端点,它以无限的JSON对象序列响应。像 GET/commands?自=112233 {“cmd”:“mycommand”,“params”:[…]} {“cmd”:“othercommand”,“params”:[…]} ... 会话几乎永远不会结束(服务器有一个最终超时的设置,但典型的值是几十万秒) 有没有办法在午睡时使用这样的API?没有,午睡不直接支持这一点。午睡的一个基本假设是URL是具有(有限)状态的资源,您希望观察随着时间的推移该状态的变化。因此,Siesta期望在

我有一个API端点,它以无限的JSON对象序列响应。像

GET/commands?自=112233
{“cmd”:“mycommand”,“params”:[…]}
{“cmd”:“othercommand”,“params”:[…]}
...
会话几乎永远不会结束(服务器有一个最终超时的设置,但典型的值是几十万秒)


有没有办法在午睡时使用这样的API?

没有,午睡不直接支持这一点。午睡的一个基本假设是URL是具有(有限)状态的资源,您希望观察随着时间的推移该状态的变化。因此,Siesta期望在实际开始解析和发布结果之前得到一个完全物化的响应。您所描述的是HTTP的不同用法,它不适合Siesta的模型

现在,如果您得到的JSON对象序列可以合理地解释为表示资源随时间变化的连续状态序列,那么您可以在Siesta之外进行自己的网络调用,然后在更新到达时使用发布更新


但是,查看您提供的示例数据,这看起来更像是一系列操作或事件,而不是一系列状态。午睡以资源为中心的世界观可能不适合这样做。如果“ThingX的当前状态如何?”这个问题对于API来说是一个有意义且自然的问题,那么午睡会给您带来最大的好处。

谢谢!JSON对象实际上是操作,但这些操作是对本地存储在客户机上的状态的更新。这是一种“以另一种方式休息”。因此,
覆盖本地数据(…)
建议可能有效。