6

私が作成している RESTful API では、リソースを取得する機能が必要ですが、存在しない場合は作成してから返します。これが GET リクエストのデフォルトの動作であってはならないと思います。GET リクエストに指定する特定のパラメータでこの機能を有効にすることはできますが、少し汚いようです。

重要な点は、これらの要求はインターネット接続が遅い可能性のあるモバイル デバイスから実行されるため、この要求を 1 つだけ実行したいということです。そのため、実行する必要がある要求をできるだけ制限したいと考えています。

これが RESTful の世界に適合するかどうかはわかりませんが、適合しない場合はがっかりするでしょう。REST のアイデアを少しハックする必要があるからです。

これを行うRESTfulな方法、またはRESTのアイデアと競合しない美しい方法を知っている人はいますか?

4

2 に答える 2

2

クライアントは作成の一部として情報を提供する必要がありますか? そうであれば、GET と POST を分離する必要があります。そうしないと、GET ごとにその情報を送信する必要があり、非常に見苦しくなります。

代わりに、追加情報なしで GET を送信している場合、リソースを返す前にリソースがまだ存在していなければ、バックエンドがリソースを作成できない理由はありません。リソースの作成にかかる時間によっては、非同期にして他の回答に従って 202 を使用することを検討したい場合がありますが、それはクライアントが (まだ) 別の応答コードを処理する必要があるため、より良い方法である可能性があります。リソースがファイナライズされて返されるのを待っているだけです。

于 2013-09-24T10:27:37.553 に答える