2015-05-04 43 views
0

我有一个用例,有一个服务器可以有n个源。可以有几个客户端可以连接到此服务器并获取源列表,然后可以订阅服务器以侦听源添加,更新和删除操作。回调机制的其余通信设计

要用REST原理实现这个,我想第一次当客户端连接时,服务器会给出完整的源列表以及会话ID。然后,使用此会话ID,客户端在配置的时间间隔后轮询URL并侦听源更新。

的沟通会看起来像

Client> 
GET: /Federation/Sources 

Server>> 
{"sessionId":xyz,"data":{"source1"...........}} 

Client> 
GET: /Federation/Sources/{sessionId} 

Server>> 
{"sessionId":xyz,"data":{"sourceadded"...........}} 

Client> 
PUT: /Federation/Sources/{sessionId} 
{"data":{"Recieved"}} 

此客户端调用将随后更新服务器删除源对应这个会话标识符。

然后客户端轮询继续进行会话ID。

如果这是一个很好的方法或者是否有其他可以遵循REST原则的好方法,专家们可以给他们提供反馈或意见吗?

+0

这感觉比它需要更有状态。如何删除会话ID,而是使用时间戳?像“自

+0

这是一个非常好的主意。谢谢。 –

回答

1

而不是将客户端的id传回来用于构建URL,只需将整个URL传回客户端即可。也许有关于URL的更多信息。这是REST的HATEOAS部分。