繁体   English   中英

非静态接口背后的静态API

[英]Restful APIs behind non-restful interfaces

我正在尝试找到相关的最佳做法/规格/文学/等。 解决了在不平稳的外观后面使用平稳的API(例如,标准的Rails应用程序)的一般问题,例如XMPP API或Websockets通道。

例如,我有一个宁静的Rails应用程序,并且我想公开一个只读的异步接口。 这是非常简单的东西,Rails应用程序推送到Redis pubsub通道,该通道又从node.js中使用,然后发送到websocket通道(1)。 现在,我将如何最好地使该异步api读/写? 我正在考虑客户端通过websockets通道发送到服务器,基本上等于串行化的HTTP请求或轻量级的json编码的有效负载,这些负载又将转至Resque队列,然后从主应用程序进行解析,但是我想知道是否可以建立以前的工作/规格/体系结构,或者只是我可能忽略的更优雅的方法。

(1)显然,您可以将'websockets'替换为'xmpp',并且仍然需要考虑普遍关注的,非静态接口背后的静态应用程序。

在此先感谢您的帮助。

我不确定除了呼叫/响应方法之外,是否真的有任何区别。

例如,在网络世界中,对REST接口的所有调用通常都是从浏览器进行的,在浏览器中,与您处理Web客户端时,服务器端都进行了状态跟踪。 因此,客户端接口通常会发送大量数据(直接或通过Cookie间接发送),以允许服务器重构调用的上下文。

通过XMPP(直接或直接)或Websocket进行呼叫时,您将需要执行相同的操作,因为客户端将与接收构成请求的节的中介(XMPP组件或bot)进行对话,并收集所有存储状态然后将其传递给REST。

XMPP bot /组件以最基本的形式将传入的节,将其转换为REST调用,进行该调用,然后打包结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM