簡體   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