REST のすべてに POST を使用するのは間違っていますか? POST が更新と作成用であることは知っていますが、SELECT と DELETS にも使用するとどうなりますか? 基本的に必要なのは、データベースに対して CRUD 操作を実行できる Web サービスです。PHPを使用しています。また、JSON や XML を使用する代わりにクエリ文字列を使用して POST 要求を実行するとどうなりますか?
6 に答える
この REST チュートリアルのシリーズの 4 番目の記事では、次のように述べています。
データの作成、更新、および削除には、POST 要求を使用します。(前述のように、複雑なパラメーターが必要な場合、POST は読み取り専用クエリにも使用できます。)
もちろん、GET は通常読み取り専用クエリに使用されるため、すべてをまとめると、複雑さがデフォルトの仮定である場合、これは複雑さと単純さの間のしきい値が指定されていない場合に便利な仮定のようなものであり、この男は十分な権威です。 REST に関するシリーズ全体を書くということは、すべてを POST しても問題ないと言っているのと同じです。キャッシュは、さまざまな HTTP 動詞への応答について、有益であると想定している可能性がありますが、アプリケーションがキャッシュの恩恵を受けない場合 (実際、キャッシングによって害を受ける可能性があるため、キャッシングを無効にするか、アプリケーションが影響を受けないように何かを行ってください)何か問題があるかどうかはまったくわかりません。
すべての操作に POST を使用している場合、もはやそれを REST と呼ぶことはできません。
だから間違っていませんが、RESTでもありません:)
REST のすべてに POST を使用するのは間違っていますか?
REST のすべてに POST を使用することはできません (たとえば、応答ではなく要求のみ)。そのため、間違っているか正しいかという質問は有効な質問ではありません。
POST が更新と作成用であることは知っていますが、SELECT と DELETS にも使用するとどうなりますか?
通常は機能します。
基本的に必要なのは、データベースに対して CRUD 操作を実行できる Web サービスです。
それはいいです。
PHPを使用しています。
それもいいです。PHP は、HEAD、GET、および POST メソッドをサポートしています。PUT および DELETE メソッドについては、もう少しコーディングを行う必要があります。
また、JSON や XML を使用する代わりにクエリ文字列を使用して POST 要求を実行するとどうなりますか?
JSON/XML 要求本文の代わりにクエリ文字列を使用します。REST はプロトコルを指定しないため、好きなように実行できます。PHP はすぐに使えるクエリ文字列をサポートしているため、PHP では「クエリ文字列」を使用することをお勧めします。ただし、ハンドラーに何を使用するか、または何をサポートするかによって異なります。
あなたの質問は非常に幅広いので、より具体的に尋ねることができるように、最初に REST の基本的な説明を読むことをお勧めします: A Brief Introduction to REST .
はい、違います。更新以外の目的で POST を使用している場合、実際には REST 規則に従っていません。
スープはフォークで食べられるけどなんで?とにかく、どのメソッドも使用できますが、REST プロトコルとは呼ばないでください。