R 表象的な S たて T ransfer (REST) は、Web サービスの作成に使用される一連の制約を定義するアーキテクチャ スタイルです。 REST API 処理を行わずに、シンプルかつ柔軟な方法で Web サービスにアクセスする方法です。
一般に、REST テクノロジは、より堅牢な Simple Object Access Protocol (SOAP) テクノロジよりも好まれます。REST は使用する帯域幅が少なく、シンプルで柔軟性があり、インターネットの使用により適しているためです。 Web サービスから情報を取得または提供するために使用されます。 REST API 経由で行われるすべての通信では、HTTP リクエストのみが使用されます。
働く: リクエストは、HTTP GET、POST、PUT、または DELETE リクエストとして Web URL の形式でクライアントからサーバーに送信されます。その後、HTML、XML、画像、JSON などのリソースの形式でサーバーから応答が返されます。しかし現在、JSON は Web サービスで使用されている最も一般的な形式です。
REST API を習得する Educative の対話型スキル パスを使用して、人気があり実用的な Python REST API を Django Web アプリケーションに統合する方法を学びます Python ベースの API インテグレーターになりましょう。 コードを使用して Educative.io にサインアップします GEEKS10 サブスクリプションを 10% 節約できます。
で HTTP REST ベースのアーキテクチャで一般的に使用されるメソッドは、POST、GET、PUT、PATCH、DELETE の 5 つです。これらはそれぞれ、作成、読み取り、更新、削除 (または CRUD) 操作に対応します。 OPTIONS や HEAD など、あまり使用されないメソッドもあります。
- 得る: HTTP GET メソッドは次の目的で使用されます。 読む リソースの表現を取得(または取得)します。安全なパスでは、GET は XML または JSON の表現と HTTP 応答コード 200 (OK) を返します。エラーの場合、ほとんどの場合、404 (NOT FOUND) または 400 (BAD REQUEST) が返されます。
- 役職: POST 動詞は、次の目的で最も頻繁に使用されます。 作成する 新しいリソース。特に、下位リソースを作成するために使用されます。つまり、他の (親など) リソースに従属します。作成が成功すると、HTTP ステータス 201 を返し、HTTP ステータス 201 で新しく作成されたリソースへのリンクを含む Location ヘッダーを返します。
注記: POST は安全でもべき等でもありません。
- 置く: のために使用されます 更新中 能力。ただし、PUT は次の目的にも使用できます。 作成する リソース ID がサーバーではなくクライアントによって選択される場合のリソース。つまり、存在しないリソース ID の値を含む URI に対する PUT である場合です。更新が成功すると、PUT から 200 (本文にコンテンツが返されない場合は 204) が返されます。作成に PUT を使用する場合、作成が成功すると HTTP ステータス 201 を返します。 PUT は安全な操作ではありませんが、冪等です。
- パッチ: 慣れています 修正する 能力。 PATCH リクエストには、リソース全体ではなく、リソースへの変更のみが含まれる必要があります。これは PUT に似ていますが、本体には、サーバー上に現在存在するリソースを変更して新しいバージョンを作成する方法を説明する一連の命令が含まれています。これは、PATCH 本体がリソースの単なる変更部分ではなく、JSON Patch や XML Patch などの何らかのパッチ言語である必要があることを意味します。 PATCH は安全でもべき等でもありません。
- 消去: 慣れています 消去 URI によって識別されるリソース。削除が成功すると、応答本文とともに HTTP ステータス 200 (OK) が返されます。
冪等性: 冪等 HTTP メソッドは、結果が異なることなく何度も呼び出すことができる HTTP メソッドです。メソッドが 1 回だけ呼び出されても、10 回呼び出されても問題ありません。結果は同じになるはずです。繰り返しますが、これは結果にのみ適用され、リソース自体には適用されません。
例:
C
arpコマンド
1. a = 4> // It is Idempotence, as final value(a = 4)> > // would not change after executing it multiple> > // times.> 2. a++> // It is not Idempotence because the final value> > // will depend upon the number of times the> > // statement is executed.> |
>
>
リクエストとレスポンス
次に、さまざまな場合のリクエストとレスポンスがどのように機能するかを見ていきます。 HTTP メソッド。あると仮定しましょう API( https://www.techcodeview.com ) gfgの全生徒データ。
- 得る: 学生の皆さんへのお願い。
リクエスト |
GET:/api/students |
- 役職: データの投稿・作成・挿入依頼
リクエスト |
POST:/api/学生 {名前:ラージ} |
- パットまたはパッチ: id=1のデータ更新リクエスト
リクエスト |
PUT または PATCH:/api/students/1 {名前:ラージ} |
- 消去: id=1のデータ削除リクエスト
リクエスト |
削除:/api/学生/1 |
RESTful Web サービスは、軽量で拡張性と保守性が高く、Web ベースのアプリケーション用の API の作成によく使用されるため、非常に人気があります。