相关疑难解决方法(0)

什么是监视REST资源以进行更改的RESTful方法?

如果有一个REST资源我想要监视来自其他客户端的更改或修改,那么最好的(也是最RESTful)方式是什么?

我这样做的一个想法是提供特定的资源来保持连接打开,而不是在资源不存在的情况下立即返回.例如,给定资源:

/game/17/playerToMove
Run Code Online (Sandbox Code Playgroud)

这个资源上的"GET"可能会告诉我轮到我的对手了.我可能会注意到移动号码(比如5)并试图检索下一步行动,而不是不断地轮询这个资源以找出轮到我移动的时间:

/game/17/move/5
Run Code Online (Sandbox Code Playgroud)

在"正常"REST模型中,似乎对此URL的GET请求将返回404(未找到)错误.但是,如果相反,服务器保持连接打开,直到我的对手发挥他的移动,即:

PUT /game/17/move/5
Run Code Online (Sandbox Code Playgroud)

然后服务器可以将我的对手PUT的内容返回到该资源.这将为我提供我需要的数据,以及一种通知我的对手何时移动而不需要轮询.

这种方案是RESTful吗?或者它违反了某种REST原则?

rest polling long-polling

36
推荐指数
1
解决办法
2万
查看次数

标签 统计

long-polling ×1

polling ×1

rest ×1