サービスサイドのイベントをトリガする呼び出しをAPIに必要とする状況があり、クライアントからの情報(認証以外のもの)が必要なく、返される必要はありませんサーバーによって。これは標準のCRUD /リソースのやりとりにはうまく適合しないので、私はこれを私が間違っていることを示す指標にするか、これらの条件に対処するためのRESTfulな設計パターンがありますか?サーバーサイドのイベントをトリガするRESTfulな方法
9
A
答えて
0
RESTは、クライアントとサーバー間の通信の性質を定義します。この場合、問題は転送する情報がないと思います。
クライアントがこれをまったく開始する必要がある理由はありますか?私はあなたのサーバー側のイベントが完全にサーバー内に含まれるべきだと思います。多分cronコールで定期的にそれを蹴るでしょうか?
9
あなたのクライアントができるだけ:サーバが202 Accepted
で応答と思われるために
POST /trigger
。
クライアントにエンティティを提供する必要がある場合や、イベントステータスを照会する方法に関する情報を返す必要がある場合は、リクエストに適切な認証ヘッダーが含まれていて、将来APIを拡張できます。
ここで何をしようとしているのかについて「非RESTful」なものは何もありません。 RESTの原則は、リソースに対するCRUD操作に関連付ける必要はありません。
spec for 202は言う:
エンティティがこのレスポンスを返さ 要求の現在の状態の表示とステータスモニタ へのポインタまたはユーザーができるいくつかの見積もりのいずれかを含むべきですリクエストは となります。
定義に「SHOULD」が指定されている場合は、応答に何も送信する義務はありません。
関連する問題
- 1. トリガする方法イベント(onclickの)/プロトタイプ
- 2. RESTfulコントローラ経由で「アクションメソッド」をトリガする方法は?
- 3. jQuery asualのアドレスプラグインの変更イベントをトリガする方法は?
- 4. 手動でmxmlのclickイベントをトリガする方法
- 5. navigationitem rightBarButtonItemのイベントをプログラムでトリガする方法
- 6. 他のイベント内からイベントハンドラをトリガする方法C#
- 7. RESTfulなファイルアップロード方法
- 8. ASPページからスケジュールされたサーバーサイドのイベントをトリガーする方法
- 9. Backbone.jsでレンダリングした後にイベントをトリガする方法は?
- 10. オーバーライドされたイベントを(おそらく)トリガする方法は?
- 11. ul要素でfocusoutイベントをトリガする方法は?
- 12. Raspberry Piプルダウン割り込みピンでイベントをトリガする方法
- 13. GWTサーバーサイドのコーディング方法は?
- 14. LongClickイベントもトリガするClickイベント
- 15. JSトリガKeyDownイベント
- 16. サーバーサイドのGWTイベント。 Vaadinの代わりに
- 17. は、RESTfulな方法RESTfulな方法で、リソースの名前を変更するためのベストプラクティスは何
- 18. "over the wire"のイベントをトリガする。
- 19. jQuery:最初のイベントが終了する前に同じイベントをトリガするユーザーを停止する方法
- 20. トリガを1つのオブザーバブルで使用して別のトリガをトリガする方法
- 21. 親要素のイベントをトリガ
- 22. jquery UIダイアログでcloseイベントをトリガしたものを検出する方法
- 23. バックボーンイベントハンドラを介してイベントをトリガした要素を取得する方法
- 24. IBActionメソッドをプログラムでトリガする方法とボタンなどでトリガする方法はありますか?
- 25. MySQLトリガでイベントを停止する
- 26. サーバーサイドのイベントにコントロールを動的に追加する
- 27. ASP.NET MVCでチェックボックスをクリックしてajaxイベントをトリガする方法は?
- 28. Yii2:シナリオでのみトリガするActiveRecordイベント
- 29. Backbone.js - トリガを使用してイベントをトリガしてデータを渡す
- 30. データベース上のアクティブなトリガのリストを取得する方法は?
転送する情報がないということは、クライアントが通話を開始できないことを意味しません。サーバー側の仮想マシンリソースに対する「再起動」トリガーについて考えてみましょう。そういうもの。 – RayLuo