
REST API に関するドキュメントを読みました。初心者の観点からすると、メソッドですべてを実行できるのに、なぜ REST を使用するのか理解できませんpost
。
たとえば、バックエンドに 1 つのエントリを削除するように要求する場合、要求delete_one
内の URL として呼び出すだけでよいのでPOST
、面倒な要求を設計する必要があるでしょうかDELETE
?
答え1
REST 制約の目標の 1 つは、階層化されたキャッシュのメリットを享受することです。REST アーキテクチャ スタイルに従うことで、エンドポイント (クライアントとサーバー) だけでなく、キャッシュやミドルウェアなどの中間コンポーネントでも理解できる方法で、操作とさまざまな操作間の関係を記述するための共通言語が得られます。これらのキャッシュとミドルウェアは、アプリケーション専用に構築または構成されたものではなく、HTTP (または使用する REST フレーバー) の基本的なセマンティクスのみを理解する汎用の既製コンポーネントである可能性があります。
特定の例では、HTTP DELETE メソッドを使用する場合、その URL のキャッシュを無効にすることも指定します。
DELETE リクエストが、有効なリクエスト URI に対する 1 つ以上の保存された応答を持つキャッシュを通過する場合、それらの保存された応答は無効になります ([RFC7234] のセクション 4.4 を参照)。
つまり、その URL に対する後続の GET コマンドは、キャッシュからではなく、オリジン サーバーから取得する必要があります。