RESTful Web サービスのチュートリアル: REST API とは何か (例付き)
Restful Web サービスとは何ですか?
くつろげるウェブサービス REST アーキテクチャ上に構築された軽量で保守しやすく、スケーラブルなサービスです。Restful Web サービスは、アプリケーションの API を安全で統一されたステートレスな方法で呼び出しクライアントに公開します。呼び出しクライアントは、Restful サービスを使用して定義済みの操作を実行できます。REST の基盤となるプロトコルは HTTP です。REST は REpresentational State Transfer の略です。
RESTful な主要要素
REST Web サービスは、その誕生以来、長い道のりを歩んできました。 2002 年に、Web コンソーシアムは WSDL および SOAP Web サービスの定義をリリースしました。 これは、Web サービスの実装方法の標準を形成しました。
2004 年に、Web コンソーシアムは RESTful と呼ばれる追加標準の定義もリリースしました。 ここ数年で、この標準は非常に人気になりました。 Facebook や Twitter など、世界中の多くの人気 Web サイトで使用されています。
REST は、特定の環境にあるリソースにアクセスする方法です。 たとえば、重要なドキュメント、写真、ビデオをホストするサーバーが存在する可能性があります。 これらはすべてリソースの例です。 クライアント、たとえば Web ブラウザがこれらのリソースを必要とする場合、これらのリソースにアクセスするためのリクエストをサーバーに送信する必要があります。 現在、REST サービスは、これらのリソースにアクセスする方法を定義しています。
RESTful 実装の主要な要素は次のとおりです。
- その他情報 – 最初の重要な要素はリソース自体です。 サーバー上の Web アプリケーションに複数の従業員の記録があると仮定します。 Web アプリケーションの URL が次であると仮定します。 https://demo.guru99.com。 REST サービス経由で従業員レコード リソースにアクセスするには、次のコマンドを発行します。 https://demo.guru99.com/employee/1 – このコマンドは、従業員番号が 1 である従業員の詳細を提供するよう Web サーバーに指示します。
- リクエスト動詞 – これらは、リソースで何をしたいかを説明します。 ブラウザーは GET 動詞を発行して、データを取得するエンドポイントに指示します。 ただし、POST、PUT、DELETE など、他にも多くの動詞が使用できます。 したがって、この例の場合 https://demo.guru99.com/employee/1 ウェブブラウザは、従業員レコードの詳細を取得するために、実際には GET 動詞を発行しています。
- リクエストヘッダー – これらはリクエストとともに送信される追加の指示です。必要な応答の種類や承認の詳細を定義する場合があります。
- リクエスト本文 – データはリクエストとともに送信されます。通常、REST Web サービスに POST リクエストが送信されると、データはリクエストで送信されます。POST 呼び出しでは、クライアントは実際に REST Web サービスに、サーバーにリソースを追加したいことを伝えます。したがって、リクエスト本文には、サーバーに追加する必要があるリソースの詳細が含まれます。
- 応答本文 – これが応答の本文です。 したがって、RESTful API の例では、リクエストを介して Web サーバーにクエリを実行するとします。 https://demo.guru99.com/employee/1 、Web サーバーは、レスポンス本文に従業員の詳細をすべて含めた XML ドキュメントを返す場合があります。
- 応答ステータスコード – これらのコードは、Web サーバーからの応答とともに返される一般的なコードです。 例としては、クライアントに応答を返すときにエラーがなかった場合に通常返されるコード 200 があります。
安らかな方法
以下の図は、ほぼすべての動詞 (POST、GET、PUT、および DELETE) と、それらの意味を示す REST API の例を示しています。
RESTful Web サービスがその場所で定義されていると仮定しましょう。 https://demo.guru99.com/employee 。 クライアントがこの Web サービスにリクエストを行うときは、通常の HTTP 動詞の GET、POST、DELETE、および PUT のいずれかを指定できます。 以下は、それぞれの動詞がクライアントによって送信された場合に何が起こるかです。
- POST – これは、RESTful Web サービスを使用して新しい従業員を作成するために使用されます。
- GET – これは、RESTful Web サービスを使用して全従業員のリストを取得するために使用されます。
- PUT – これは、RESTful Web サービスを使用してすべての従業員を更新するために使用されます。
- DELETE – これは、RESTful サービスを使用しているすべての従業員を削除するために使用されます。
1 つのレコードだけの観点から見てみましょう。 従業員番号 XNUMX の従業員レコードがあったとします。
以下のアクションはそれぞれ意味を持ちます。
- POST – すでに作成されている従業員 1 のデータを取得しているため、これは適用されません。
- GET – これは、RESTful Webサービスを使用して、従業員番号が1である従業員の詳細を取得するために使用されます。
- PUT – これは、RESTful Webサービスを使用して、従業員番号が1である従業員の詳細を更新するために使用されます。
- DELETE – 従業員番号が1の従業員の詳細を削除するために使用されます
なぜ休むのか
Restful が人気を博した主な理由は、次のとおりです。
1. 異種言語と環境 – これは、これまでに見てきたものと同じ根本的な理由の XNUMX つです。 石鹸 同様に。
- さまざまなプログラミング言語で構築された Web アプリケーションが相互に通信できるようにします。
- Restful サービスの助けを借りて、これらの Web アプリケーションはさまざまな環境に常駐できます。 Windows、その他は Linux 上にある可能性があります。
しかし、最終的には、どんな環境であっても、最終的には会話ができるようになることは同じであるはずです。 Restful Web サービスは、さまざまなプログラミング言語およびプラットフォームで構築されたアプリケーションが相互に通信できるように、この柔軟性を提供します。
下の図は、Facebook、Twitter、Google などの他のアプリケーションと通信する必要がある Web アプリケーションの例を示しています。
クライアント アプリケーションが Facebook、Twitter などのサイトと連携する必要がある場合、おそらく Facebook、Google、Twitter がどの言語で構築されているか、またどのプラットフォームで構築されているかを知る必要があるでしょう。
これに基づいて、Web アプリケーションのインターフェイス コードを作成できますが、これは悪夢になる可能性があります。
Facebook、Twitter、Google は、Restful Web サービスの形式で機能を公開しています。 これにより、クライアント アプリケーションは REST 経由でこれらの Web サービスを呼び出すことができます。
2. デバイスのイベント – 今では、あらゆることに取り組む必要があります モバイル モバイル デバイス、ノートブック、さらには自動車システムなど、さまざまなデバイスに適用されます。
これらのデバイス上で通常の Web アプリケーションと通信するためのアプリケーションをコーディングするには、どれほどの労力がかかるか想像できますか? ここでも、Restful API を使用すると、この作業が簡単になります。ポイント 1 で述べたように、デバイスの基盤となるレイヤーが何であるかを実際に知る必要がないためです。
3.いよいよクラウドのイベントです – すべてがクラウドに移行しつつあります。 アプリケーションは、次のようなクラウドベースのシステムに徐々に移行しています。 Azure or Amazon. Azure および Amazon RESTful アーキテクチャに基づく API を多数提供しています。そのため、アプリケーションはクラウドと互換性があるように開発する必要があります。すべてのクラウド ベースのアーキテクチャは REST 原則に基づいて動作するため、クラウド ベースのサービスを最大限に活用するには、Web サービスを REST サービス ベースのアーキテクチャでプログラムする方が理にかなっています。
安らかな Archi構造
RESTfulまたはRESTスタイルとみなされるアプリケーションまたはアーキテクチャには、次の特徴があります。
1. 状態と機能が分散リソースに分割される – これは、GET、POST、PUT、または DELETE の通常の HTTP コマンドを介してすべてのリソースにアクセスできる必要があることを意味します。 したがって、サーバーからファイルを取得したい場合は、GET リクエストを発行してファイルを取得できる必要があります。 ファイルをサーバーに置きたい場合は、POST リクエストまたは PUT リクエストを発行できる必要があります。 最後に、サーバーからファイルを削除したい場合は、DELETE リクエストを発行できます。
2. アーキテクチャはクライアント/サーバー、ステートレス、階層化されており、キャッシュをサポートしています。
- クライアント サーバーは、サーバーがアプリケーションをホストする Web サーバーであり、クライアントが Web ブラウザーと同じくらい単純なものである典型的なアーキテクチャです。
- ステートレスとは、アプリケーションの状態が REST で維持されないことを意味します。 たとえば、DELETE コマンドを使用してサーバーからリソースを削除した場合、削除情報が次のリクエストに渡されることは期待できません。
リソースを確実に削除するには、GET リクエストを発行する必要があります。 GET リクエストは、最初にサーバー上のすべてのリソースを取得するために使用されます。 その後、リソースが実際に削除されたかどうかを確認する必要があります。
RESTFul の原則と制約
REST アーキテクチャは、以下に詳しく説明するいくつかの特性に基づいています。RESTful Web サービスは、RESTful と呼ばれるためには、以下の特性に準拠している必要があります。これらの特性は、RESTful ベースのサービスを使用する際に従う必要がある設計原則としても知られています。
これは、REST ベースのアーキテクチャの最も基本的な要件です。つまり、サーバーにはクライアントに必要な機能を提供する RESTful Web サービスがあるということです。クライアントはサーバー上の Web サービスにリクエストを送信します。サーバーはリクエストを拒否するか、リクエストに従ってクライアントに適切な応答を提供します。
- ステートレス
ステートレスの概念は、必要な情報がすべてサーバーに提供されるかどうかはクライアント次第であることを意味します。 これは、サーバーが応答を適切に処理できるようにするために必要です。 サーバーは、クライアントからのリクエスト間でいかなる種類の情報も保持すべきではありません。 これは非常に単純な独立した質問と回答のシーケンスです。 クライアントが質問すると、サーバーがそれに適切に答えます。 クライアントは別の質問をします。 サーバーは前の質問と回答のシナリオを覚えていないため、新しい質問に個別に答える必要があります。
- キャッシュ
キャッシュの概念は、最後のポイントで説明したステートレスの問題を解決するために役立ちます。 各サーバー クライアントのリクエストは本質的に独立しているため、クライアントがサーバーに同じリクエストを再度要求する場合があります。 これは、過去にすでに要求されていたにもかかわらずです。 このリクエストはサーバーに送信され、サーバーは応答を返します。 これにより、ネットワーク上のトラフィックが増加します。 キャッシュは、すでにサーバーに送信されたリクエストを保存するためにクライアントに実装される概念です。 したがって、同じリクエストがクライアントから与えられた場合、クライアントはサーバーにアクセスする代わりに、キャッシュに移動して必要な情報を取得します。 これにより、クライアントからサーバーへのネットワーク トラフィックの量が節約されます。
- 階層化システム
階層化システムの概念は、クライアントと RESTFul Web サービスをホストする実際のサーバーの間にミドルウェア層などの追加層を挿入できるということです (ミドルウェア層は、すべてのビジネス ロジックが作成される場所です。これは追加のサービスになる場合があります)クライアントが Web サービスを呼び出す前に対話できるように作成されます)。 ただし、この層の導入は、クライアントとサーバー間の対話を妨げないように透過的である必要があります。
- インターフェース/統一コントラクト
これは、RESTful Web サービスがどのように機能するかの基礎となるテクニックです。 RESTful は基本的に HTTP Web 層で動作し、以下の主要な動詞を使用してサーバー上のリソースを操作します。
- POST – サーバー上にリソースを作成するには
- GET – サーバーからリソースを取得します。
- PUT – リソースの状態を変更または更新します。
- DELETE – サーバーからリソースを削除または削除します。
ASP.NET で最初の Restful Web サービスを作成する
この REST API チュートリアルでは、ASP.NET で Restful Web サービスを作成する方法を学びます。
Web サービスはさまざまな言語で作成できます。 多くの統合開発環境を使用して、REST ベースのサービスを作成できます。
この RESTful API の例では、Visual Studio を使用して .Net で REST アプリケーションを作成します。この例では、Restful Web サービスに対して、次の REST サービス例をエミュレートします。
以下のデータセットを処理する Restful Web サービスを作成します。
以下のデータ セットは、Tutorialid に基づいて自社のチュートリアルを公開する企業の REST API の例を表しています。
チュートリアル | チュートリアル名 |
---|---|
0 | 配列 |
1 | キュー |
2 | スタック |
REST API チュートリアルの例では、以下の Restful Verbs を実装します。
- チュートリアルを入手 – クライアントがこの Restful API を呼び出すと、Web サービスから利用可能なチュートリアルのセット全体が提供されます。
- チュートリアル/チュートリアルIDを取得する – クライアントがこの Restful API を呼び出すと、クライアントから送信された Tutorialid に基づいてチュートリアル名が与えられます。
- POST チュートリアル/チュートリアル名 – クライアントがこの Restful API を呼び出すと、クライアントはチュートリアル名を挿入するリクエストを送信します。 Web サービスは、送信されたチュートリアル名をコレクションに追加します。
- DELETE チュートリアル/チュートリアルID– クライアントがこの Restful API を呼び出すと、クライアントは Tutorialid に基づいて Tutorialname を削除するリクエストを送信します。 その後、Web サービスは送信されたチュートリアル名をコレクションから削除します。
この RESTful API チュートリアルの以下の手順に従って、上記の実装を実行する最初の RESTful Web サービスを作成しましょう。
初めての Restful Web サービスを作成する方法
ステップ1) 新しいプロジェクトを作成します。
最初のステップは、空の Asp.Net Web アプリケーション。Visual Studio 2013 から、メニュー オプションの [ファイル] -> [新しいプロジェクト] をクリックします。
新しいプロジェクトオプションをクリックすると、Visual Studioはプロジェクトの種類を選択し、プロジェクトの必要な詳細を入力するための別のダイアログボックスを表示します。これは、このRESTful APIチュートリアルの次のステップで説明されています。
ステップ2) プロジェクト名と場所を入力します。
- 最初に必ず RESTful Web サービスを選択してください C# ASP.NET Web アプリケーションの Web テンプレート。Web サービス プロジェクトを作成するには、プロジェクトがこのタイプである必要があります。このオプションを選択すると、Visual Studio は、Web ベースのアプリケーションに必要なファイルを追加するために必要な手順を実行します。
- プロジェクトに名前を付けます。この例では「Webservice.REST」とします。
- 次に、プロジェクト ファイルが保存される場所を指定してください。
完了すると、Visual Studio 2013 のソリューション エクスプローラーに作成されたプロジェクト ファイルが表示されます。
ステップ3) Webサービスファイルを作成します。
次のステップでは、RESTful Web サービスを含む Web サービス ファイルを作成します。
- まず、以下に示すようにプロジェクトファイルを右クリックします
- このステップでは、
- プロジェクトファイルを右クリックします
- 「追加 -> 新しい項目」オプションを選択します。
表示されるダイアログボックスで、次の操作を実行する必要があります。
- WCF サービス (Ajax 対応) のオプションを選択します – この種類のファイルを選択すると、 Visual studio RESTful Web サービスの作成に役立つ基本的なコードを追加します。 WCFの略です Windows コミュニケーション FoundationWCFは、さまざまなプラットフォームまたは同じプラットフォームのアプリケーションがTCP、HTTP、HTTPSなどのさまざまなプロトコルを介して通信するためのライブラリです。Ajaxは基本的に非同期です。 Javaスクリプト および XML。AJAX を使用すると、バックグラウンドでサーバーと少量のデータを交換することで、Web ページを非同期的に更新できます。
- 次に、サービスの名前を付けます。この場合は TutorialService です。
- 最後に、「追加」ボタンをクリックしてサービスをソリューションに追加します。
ステップ4) 設定を行います。
次のステップでは、実際に構成を変更して、このプロジェクトが RESTful Web サービスでの作業を完了できるようにします。 これには、というファイルに変更を加える必要があります。 Web.config。 このファイルは、Web サービス プロジェクト ファイルと同じウィンドウに表示されます。 Web.config ファイルには、Web アプリケーションを正常に動作させるためのすべての構成が含まれています。 実際に加えられた変更により、アプリケーションは純粋な RESTful Web サービスとしてデータを送受信できるようになります。
- Web.config ファイルをクリックしてコードを開きます
- ラインを探す
- 行を次のように変更します
ステップ5) 実装用のコードを追加します。
この RESTful API チュートリアルの次のステップは、実装用のコードを追加することです。 以下のコードはすべて TutorialService.svc ファイルに記述する必要があります。
- 最初のビットは、プログラムで使用されるデータを表すコードを追加することです。 したがって、「Arrays」、「Queues」、および「Stacks」の値を持つ文字列変数のリストを作成します。 これは、ホスティング Web サービスを通じて利用できるチュートリアルの名前を表します。
namespace Webservice.REST { [ServiceContract(Namespace = "")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed public class TutorialService { private static List<String> lst = new List<String> (new String[] {"Arrays","Queues","Stacks"});
ステップ6) GET メソッドのコードを定義します。
次に、GET メソッドのコードを定義します。 このコードは、同じ TutorialService.svc ファイルにも存在します。 このコードは、ブラウザからサービスを呼び出すたびに実行されます。
以下のメソッドは、以下のシナリオを実現するために使用されます。
- ユーザーが利用可能なすべてのチュートリアルのリストを必要とする場合、これを実現するには以下のコードを記述する必要があります。
[WebGet(UriTemplate="/Tutorial")] public String GetAllTutorial() { int count = 1st.Count; String TutorialList = ""; for (int i = 0; i < count; i++) TutorialList = TutorialList + lst[i] + ","; return TutorialList; }
コードの説明:-
- コードの最初の行が最も重要です。 これは、URL 経由でこのメソッドを呼び出す方法を定義するために使用されます。 したがって、Web サービスへのリンクが http://localhost:52645/TutorialService.svc URL に「/Tutorial」を次のように追加すると、 http://localhost:52645/TutorialService.svc/Tutorial 、上記のコードが呼び出されます。 「WebGet」の属性は、このメソッドを RESTful メソッドにするためのパラメータであり、GET 動詞を介して呼び出すことができます。
- コードのこのセクションは、「lst」変数内の文字列のリストを調べて、それらすべてを呼び出し側プログラムに返すために使用されます。
ステップ7) 出力を返します。
以下のコードは、チュートリアル ID を使用してチュートリアル サービスに対して GET 呼び出しが行われた場合、チュートリアル ID に基づいて対応するチュートリアル名を返すことを保証します。
[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")] public String GetTutorialbyID(String Tutorialid) { int pid; Int32.TryParse(Tutorialid, out pid); return lst[pid]; }
コードの説明:-
- コードの最初の行が最も重要です。 これは、URL 経由でこのメソッドを呼び出す方法を定義するために使用されます。 したがって、Web サービスへのリンクが http://localhost:52645/TutorialService.svc URL に「/Tutorial/{Tutorialid}」を追加すると、Web サービスを次のように呼び出すことができます。 http://localhost:52645/TutorialService.svc/Tutorial/1 例として。 Web サービスは、チュートリアル ID#1 を持つチュートリアル名を返す必要があります。
- コードのこのセクションは、Web メソッドに渡されるチュートリアル ID を持つ「チュートリアル名」を返すために使用されます。
- デフォルトでは、ブラウザの URL に渡されるものはすべて文字列であることを覚えておく必要があります。
- ただし、リストのインデックスは整数である必要があることを覚えておく必要があります。そのため、最初に Tutorialid を整数に変換するために必要なコードを追加し、それを使用してリスト内のインデックス位置にアクセスし、
- 次に、それに応じて呼び出し側プログラムに値を返します。
ステップ8) POSTメソッドのコードを記述します。
次のステップは、POST メソッドのコードを作成することです。 このメソッドは、POST メソッドを介してチュートリアルのリストに文字列値を追加するときはいつでも呼び出されます。 たとえば、「ソフトウェア テスト」というチュートリアル名を追加する場合は、POST メソッドを使用する必要があります。
コードの説明:-
- 最初の行は、メソッドに付加された「WebInvoke」属性です。 これにより、POST 呼び出しを介してメソッドを呼び出すことができます。 RequestFormat 属性と ResponseFormat 属性は JSON として指定する必要があります。これは、値を RESTFul Web サービスに送信するときは、値をこの形式にする必要があるためです。
- コードの XNUMX 行目は、POST 呼び出しを介して渡された文字列値をチュートリアル文字列の既存のリストに追加するために使用されます。
ステップ9) DELETE 操作を処理するメソッドを追加します。
最後に、DELETE 操作を処理するメソッドを追加します。このメソッドは、DELETE メソッドを使用してチュートリアルのリストから既存の文字列値を削除するたびに呼び出されます。
[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Json, UriTemplate = "/Tutorial/{Tutorialid}", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)] public void DeleteTutorial(String Tutorialid) { int pid; Int32.TryParse(Tutorialid, out pid); 1st.RemoveAt(pid); }
コードの説明:-
- 最初の行は、メソッドに付加された「WebInvoke」属性です。 これにより、POST 呼び出しを介してメソッドを呼び出すことができます。 RequestFormat 属性と ResponseFormat 属性は JSON として指定する必要があります。これは、値を RESTFul Web サービスに送信するときは、値をこの形式にする必要があるためです。 Method パラメータが「DELETE」に設定されていることに注意してください。 これは、DELETE 動詞を発行するたびに、このメソッドが呼び出されるということを意味します。
- コードの XNUMX 行目は、DELETE 呼び出しを通じて送信された Tutorialid を取得し、その後その ID をリストから削除するために使用されます。 ( Int32 コード内の関数は、チュートリアル ID を文字列変数から整数に変換するために使用されます)。
初めての Restful Web サービスを実行する
上記のセクションで Web サービス全体を作成しました。 どのクライアントからでも呼び出せるように、チュートリアル サービスを実行する方法を見てみましょう。
Web サービスを実行するには、以下の手順に従ってください。
ステップ1) プロジェクト ファイル – Webservice.REST を右クリックします。
ステップ2) メニューオプション「スタートアッププロジェクトとして設定」を選択します。これにより、Visual Studioがソリューション全体を実行するときにこのプロジェクトが実行されるようになります。
ステップ3) 次のステップはプロジェクト自体を実行することです。システムにインストールされているデフォルトのブラウザに応じて、適切なブラウザ名がVisual Studioの実行ボタンの横に表示されます。私たちの場合、 Google Chrome 表示されます。このボタンをクリックするだけです。
出力:-
プロジェクトを実行すると、TutorialService.svc/Tutorial セクションを参照すると、以下の出力が得られます。
上記の出力では、
- ブラウザーが「GET」動詞を呼び出し、Web サービスで「GetAllTutorial」メソッドを実行していることがわかります。 このモジュールは、Web サービスによって公開されているすべてのチュートリアルを表示するために使用されます。
最初の Restful Web サービスをテストする
上のセクションでは、ブラウザを使用して「GET」動詞を実行し、「GetAllTutorial」を呼び出す方法をすでに見てきました。
- ブラウザを使用して次のユースケースのシナリオを実行してみましょう。
GET Tutorial/Tutorialid – クライアントがこの Restful API を呼び出すと、クライアントから送信された Tutorialid に基づいてチュートリアル名が与えられます。
ブラウザで、URL のチュートリアルの単語の後に文字列 /1 を追加します。 Enter ボタンを押すと、以下の出力が得られます
これで、チュートリアル文字列のリストの番号 1 に実際に対応するキューの出力が表示されます。 これは、「GetTutorialbyID」メソッドが Web サービスから呼び出されていることを意味します。 また、値 1 がブラウザを介して Web サービスとメソッドに正常に渡されていること、そのためブラウザで対応する「Queues」の正しい値を取得していることも示しています。
- 次に、以下のシナリオを実行して Web サービスを利用しましょう。このためには、「」というツールをインストールする必要があります。Fiddler」は、サイトから無料でダウンロードできるツールです。
POST チュートリアル/チュートリアル名 – クライアントがこの Restful API を呼び出すと、クライアントはチュートリアル名を挿入するリクエストを送信します。 Web サービスは、送信されたチュートリアル名をコレクションに追加します。
Fiddler ツールを実行し、以下の手順を実行します。
- コンポーザー セクションに移動します。これは、任意の Web アプリケーションに送信できるリクエストを作成するために使用されます。
- リクエストのタイプが「POST」であり、正しい URL がヒットしていることを確認してください。この場合、これは次のようになります。 http://localhost:52645/TutorialService.svc/Tutorial
- Content-Type が application/json としてマークされていることを確認してください。 Web サービスの POST リクエスト メソッドは json スタイル データのみを受け入れるため、アプリケーションにリクエストを送信するときにこれが指定されていることを確認する必要があることに注意してください。
- 最後に、データを入力する必要があります。 POST のメソッドは「str」というパラメーターを受け入れることに注意してください。 したがって、ここでは「Trees」という値をチュートリアル名のコレクションに追加し、それが str 変数名にタグ付けされるように指定しています。
最後に、Fiddler の [実行] ボタンをクリックします。これにより、Web サービスにリクエストが送信され、データ「Trees」が Web サービスに POST されます。
ここで、チュートリアル URL を参照してチュートリアル リスト内のすべての文字列を表示すると、「Trees」の値も存在することがわかります。 これは、Web サービスへの POST リクエストが正常に実行され、チュートリアル リストに正常に追加されたことを示しています。
- 次に、以下のシナリオを実行してWebサービスを利用してみましょう。これにも、Fiddlerツールを使用する必要があります。
DELETE Tutorial/Tutorialid - クライアントがこの Restful API を呼び出すと、クライアントは Tutorialid に基づいて Tutorialname を削除するリクエストを送信します。 その後、Web サービスは送信されたチュートリアル名をコレクションから削除します。
Fiddler ツールを実行し、以下の手順を実行します。
- コンポーザー セクションに移動します。これは、任意の Web アプリケーションに送信できるリクエストを作成するために使用されます。
- リクエストのタイプが「DELETE」であり、正しい URL がヒットしていることを確認してください。この場合、これは次のようになります。 http://localhost:52645/TutorialService.svc/Tutorial。 URL を介してパラメーターとして送信されたリスト内の文字列を削除するために使用される ID を確認してください。 REST の例では 1 を送信しているため、2 は削除されます。nd コレクション内の要素「キュー」です。
最後に、Fiddler の [実行] ボタンをクリックします。これにより、Web サービスにデータ「キュー」を削除する要求が送信されます。
ここで、チュートリアル URL を参照してチュートリアル リスト内のすべての文字列を表示すると、「Queues」の値が存在しないことがわかります。
これは、Web サービスへの DELETE 要求が正常に実行されたことを示しています。チュートリアル文字列のリストのインデックス番号 1 の要素が正常に削除されました。
製品概要
- REST は REpresentational State Transfer の略です。 REST は、本質的に軽量で、保守可能で、スケーラブルな Web サービスを構築するために使用されます。
- ますます多くのアプリケーションが Restful アーキテクチャに移行しています。これは、現在、多くの人がモバイル デバイスを使用しており、より多様なアプリケーションがクラウドに移行しているためです。
- REST の主な側面は、サーバー上に存在するリソースと、これらのリソースを操作するために使用できる GET、POST、PUT、および DELETE の動詞です。
- Visual Studio と .Net を使用して、Restful Web サービスを作成できます。
- 日時 テスト POST および PUT 用の Web サービスでは、POST および PUT 要求をサーバーに送信するために使用できる、Fiddler と呼ばれる別のツールを使用する必要があります。