4

リソースに対するCRUD操作を提供するRESTAPIを作成しています。

ユーザーがいくつかのリソースの変更に登録し、サーバープッシュを介して更新を取得できるようにしたいと思います。サーバープッシュについては、リバースajax、非表示のiframe、およびWebSocketのサポートを提供します。可能な限りRESTにするために、登録とクライアントへの接続を処理するストリーミングリソースを作成しました。

ストリーミングリソース:

URI uri : A GET against this URI refreshes the client representation of the resources accessible to this user.
bool WebSocket : Indicate if websocket is available on this server
bool ReverseXHR : Indicate if ReverseXHR is available on this server
bool HiddenIframe : Indicate if HiddenIframe is available on this server
Registration[] Registrations :  The set of registration tasks.

OpenChannel:ウェブサーバーからクライアントへのストリーミングチャンネルを開きます。GETパラメーターtype=(websocket | xhr | hiddeniframe)

CloseChannel:Webサーバーからクライアントへのストリーミングチャネルを閉じます。GETパラメーターtype=(websocket | xhr | hiddeniframe)

を呼び出すとopenchannel?type=websocket、WebSocketが開き、登録された値のデータのストリーミングが開始されます。

私はたくさんの記事を読みましたが、それでも少し混乱しています。これを行った後でもAPIRESTを呼び出すことはできますか?そして、いいえ(またははい)の場合、なぜですか?

ご協力ありがとうございました!

4

1 に答える 1

0

まず、直面している問題を解決するために理にかなっていることを常に実装してください。特定のアーキテクチャ スタイルに準拠すると、特定の利点が得られますが、特定の問題に対する実際的な解決策を排除するものではありません。

しかし、そうは言っても、クライアントとサーバーの間で情報を「トンネリング」する方法として、リソース データのストリーミングを使用しているようです。私はこれにかなり慣れていませんが、トンネリング データはREST アーキテクチャ スタイルの統一されたインターフェイスの制約に反しているように思えます。HTTP を介したトンネリングは、SOAP ベースのサービスに対する批判レベルの 1 つです。

于 2012-04-10T17:17:02.250 に答える