REST API: HTTP メソッド (PUT、DELETE、POST、GET) の重要性
RESTful API の領域では、基本的ななぜ PUT、DELETE、POST、GET などの複数の HTTP リクエスト タイプを使用するのかという疑問が生じます。 REST の目的は、最も簡単な方法を使用してデータにアクセスするだけではないことを理解することが重要です。
REST の役割
「REpresentational State Transfer」(REST)アーキテクチャは、データと対話するための有意義な方法を提供します。 REST リクエストが行われるときは、実行する意図されたアクションを即座に伝える必要があります。
例: GET リクエスト
次の REST エンドポイントを考えてみましょう:
GET: /cars/make/chevrolet
このエンドポイントはおそらくシボレー車のリストを返します。 GET リクエストを使用すると、ユーザーはデータを変更するのではなく取得することを明示的に指定します。
POST リクエスト: データの作成
新しいデータを作成する場合は、通常は POST リクエストが使用されます。例:
POST: /cars/ { make:chevrolet, model:malibu, colors:[red, green, blue, grey] }
この POST リクエストは、指定された色で新しいシボレー マリブを作成するためのデータを送信します。 API は必ずしも基礎となるデータベース構造に関連付けられているわけではありませんが、代わりに真のデータを保護するためのマスキング インターフェイスを提供します。
冪等性と HTTP メソッド
GET などの HTTP メソッド、PUT、および DELETE は冪等性の原則に従います。これは、これらのメソッドを繰り返し呼び出した場合、サーバーの状態は同じになるはずであることを意味します。一方、POST は、異なるサーバー状態を引き起こす可能性があるため、一般に非冪等であると考えられています。
冪等性の実装
POST リクエストで冪等性を確保するには、次のようにします。次のパターンの使用を検討してください:
POST: /cars/oldest?action=delete
このエンドポイントは、実行されるアクション (削除) を明示的に定義し、冪等にします。対照的に、
Delete: /cars/oldest
のようなリクエストは、潜在的に曖昧で冪等でない可能性があります。
結論として、特定の HTTP メソッドを使用すると、 REST API は任意ではありません。これらは、意図したアクション (作成、読み取り、更新、削除) を伝達し、システムの冪等性を保証するのに役立ちます。これらの規則に従うことで、REST API はデータの操作と対話に対する意味のある構造化されたアプローチを提供します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3