Asp.net-mvc-web-api

提供:Dev Guides
移動先:案内検索

ASP.NET MVC-Web API

ASP.NET Web APIは、ブラウザーやモバイルデバイスを含む幅広いクライアントに到達するHTTPサービスを簡単に構築できるフレームワークです。 ASP.NET Web APIは、.NET Framework上でRESTfulアプリケーションを構築するための理想的なプラットフォームです。

Web上でAPIを作成する場合、Web上でAPIを作成する方法はいくつかあります。 これにはHTTP/RPCが含まれ、これは、リモートプロシージャコールでHTTPを使用して、メソッドなどのWeb全体を呼び出すことを意味します。

動詞自体は、顧客の取得、請求書の挿入、顧客の削除などのAPIに含まれており、これらの各エンドポイントは個別のURIになります。

新しいASP.NET Webアプリケーションを作成して、Web APIの簡単な例を見てみましょう。

  • ステップ1 *-Visual Studioを開き、[ファイル]→[新規]→[プロジェクト]メニューオプションをクリックします。

新しいプロジェクトダイアログが開きます。

Visual Studioクリックファイル

  • ステップ2 *-左ペインから、テンプレート→Visual C#→Webを選択します。
  • ステップ3 *-中央のペインで、ASP.NET Webアプリケーションを選択します

[名前]フィールドにプロジェクト名WebAPIDemoを入力し、[OK]をクリックして続行します。 次のダイアログが表示され、ASP.NETプロジェクトの初期コンテンツを設定するよう求められます。

WebAPIDemo

  • ステップ4 *-物事を単純にするために、空のオプションを選択し、「フォルダーとコア参照の追加」セクションのWeb APIチェックボックスをオンにして、「OK」をクリックします。
  • ステップ5 *-事前定義された最小限のコンテンツで基本的なMVCプロジェクトを作成します。

Visual Studioでプロジェクトを作成すると、ソリューションエクスプローラーウィンドウに多数のファイルとフォルダーが表示されます。

  • ステップ6 *-次に、モデルを追加する必要があります。 ソリューションエクスプローラーでModelsフォルダーを右クリックし、[追加]→[クラス]を選択します。

モデルの追加

[新しいアイテムの追加]ダイアログが表示されます。

アイテムの追加ダイアログ

  • ステップ7 *-中央のパンで[クラス]を選択し、名前フィールドにEmployee.csと入力します。
  • ステップ8 *-次のコードを使用して、いくつかのプロパティをEmployeeクラスに追加します。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebAPIDemo.Models {
   public class Employee{
      public int ID { get; set; }
      public string Name { get; set; }
      public DateTime JoiningDate { get; set; }
      public int Age { get; set; }
   }
}
  • ステップ9 *-コントローラーを追加しましょう。 ソリューションエクスプローラーでコントローラーフォルダーを右クリックし、[追加]→[コントローラー]を選択します。

[足場の追加]ダイアログが表示されます。

コントローラーの追加の選択

  • ステップ10 *-Web API 2 Controller-Emptyオプションを選択します。 このテンプレートは、コントローラーのデフォルトアクションを使用してインデックスメソッドを作成します。
  • ステップ11 *-[追加]ボタンをクリックすると、[コントローラーの追加]ダイアログが表示されます。

ボタンコントローラーの追加

  • ステップ12 *-名前をEmployeesControllerに設定し、[追加]ボタンをクリックします。

Controllersフォルダーに新しいC#ファイル「EmployeeController.cs」が表示されます。このフォルダーは、デフォルトのアクションを使用してVisual Studioで編集するために開いています。

using System;
using System.Collections.Generic;
using System.Linq;

using System.Web.Http;
using WebAPIDemo.Models;

namespace WebAPIDemo.Controllers{
   public class EmployeesController : ApiController{
      Employee[] employees = new Employee[]{
         new Employee { ID = 1, Name = "Mark", JoiningDate =
            DateTime.Parse(DateTime.Today.ToString()), Age = 30 },
         new Employee { ID = 2, Name = "Allan", JoiningDate =
            DateTime.Parse(DateTime.Today.ToString()), Age = 35 },
         new Employee { ID = 3, Name = "Johny", JoiningDate =
            DateTime.Parse(DateTime.Today.ToString()), Age = 21 }
      };

      public IEnumerable<Employee> GetAllEmployees(){
         return employees;
      }

      public IHttpActionResult GetEmployee(int id){
         var employee = employees.FirstOrDefault((p) => p.ID == id);
         if (employee == null){
            return NotFound();
         }
         return Ok(employee);
      }
   }
}
  • ステップ13 *-このアプリケーションを実行し、URLの最後に/api/employees/を指定して、Enterキーを押します。 次の出力が表示されます。

API従業員の指定

ステップ14 *-次のURL *http://localhost:63457/api/employees/1 を指定すると、次の出力が表示されます。

Localhost API従業員