サービス側のイベントをトリガーするための呼び出しを API で行う必要があり、クライアントからの情報 (認証以外) は必要なく、サーバーからは何も返される必要がないという状況があります。これは標準の CRUD/リソース インタラクションにうまく適合しないため、何か間違ったことを行っていることを示す指標としてこれを使用する必要がありますか、またはこれらの条件に対処するための RESTful 設計パターンはありますか?
3507 次
2 に答える
12
クライアントは次のことができます。
POST /trigger
サーバーが202 Accepted
.
そうすれば、リクエストに適切な認証ヘッダーを含めることができ、クライアントがエンティティを提供する必要がある場合、またはイベント ステータスのクエリ方法に関する情報を含むレスポンスを返す必要がある場合に、API を将来拡張できます。
ここでやろうとしていることについて、「RESTful でない」ことは何もありません。REST 原則は、リソースに対する CRUD 操作に関連付ける必要はありません。
202の仕様は次のように述べています。
この応答で返されるエンティティには、要求の現在のステータスの表示と、ステータス モニターへのポインター、またはユーザーが要求がいつ満たされると期待できるかの推定値のいずれかを含める必要があります。
定義の「SHOULD」を考えると、応答で何も送信する義務はありません。
于 2011-12-13T16:54:08.160 に答える
0
RESTは、クライアントとサーバー間の通信の性質を定義します。この場合、転送する情報がないことが問題だと思います。
クライアントがこれを開始する必要がある理由はありますか?サーバー側のイベントは、サーバー内に完全に含まれている必要があります。おそらく、cron呼び出しで定期的に開始しますか?
于 2011-12-13T16:08:50.947 に答える