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 Click File

步驟2 - 從左側窗格中,選擇模板→Visual C#→Web。

步驟3 - 在中間窗格中,選擇ASP.NET Web應用程式

在“名稱”欄位中輸入專案名稱WebAPIDemo,然後單擊“確定”繼續。您將看到以下對話方塊,要求您設定ASP.NET專案的初始內容。

WebAPIDemo

步驟4 - 為簡化起見,選擇“空”選項,並在“新增用於”部分選中Web API複選框,然後單擊“確定”。

步驟5 - 它將建立一個具有最少預定義內容的基本MVC專案。

Visual Studio建立專案後,您將看到解決方案資源管理器視窗中顯示了許多檔案和資料夾。

步驟6 - 現在我們需要新增一個模型。右鍵單擊解決方案資源管理器中的Models資料夾,然後選擇新增→類。

Add a Model

現在您將看到“新增新項”對話方塊。

Add Item Dialog

步驟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 - 讓我們新增控制器。右鍵單擊解決方案資源管理器中的控制器資料夾,然後選擇新增→控制器。

它將顯示“新增腳手架”對話方塊。

Select Add Controller

步驟10 - 選擇Web API 2控制器 - 空選項。此模板將為控制器建立具有預設操作的Index方法。

步驟11 - 點選“新增”按鈕,“新增控制器”對話方塊將出現。

 Add Button Controller

步驟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”。您將看到以下輸出。

Specify API Employees

步驟14 - 讓我們指定以下URL https://:63457/api/employees/1,您將看到以下輸出。

Localhost API Employees
廣告