如何測試C# Asp.Net WebAPI?


測試 WebApi 包括髮送請求和接收響應。有多種方法可以測試 WebApi。在這裡,我們將使用 postman 和 swagger 來測試 WebApi。讓我們像下面一樣建立一個 StudentController。

學生模型

namespace DemoWebApplication.Models{
   public class Student{
      public int Id { get; set; }
      public string Name { get; set; }
   }
}

學生控制器

示例

using DemoWebApplication.Models;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace DemoWebApplication.Controllers{
   public class StudentController : ApiController{
      List<Student> students = new List<Student>{
         new Student{
            Id = 1,
            Name = "Mark"
         },
         new Student{
            Id = 2,
            Name = "John"
         }
      };
      public IEnumerable<Student> Get(){
         return students;
      }
      public Student Get(int id){
         var studentForId = students.FirstOrDefault(x => x.Id == id);
         return studentForId;
      }
   }
}

使用 Swagger 測試

Swagger 是用於記錄 REST API 的規範。它指定用於描述 REST Web 服務的格式(URL、方法和表示)。方法、引數和模型描述與伺服器程式碼緊密整合,從而維護 API 及其文件的同步。

在我們的應用程式中,使用 Manage Nuget 包安裝 swagger。

執行我們的 WebApi 專案並在 url 中輸入 **swagger/ui/index**。

swagger 將自動列出控制器及其操作方法,如下所示。我們可以展開相應的控制器並使用我們的請求測試端點。

獲取所有學生請求

獲取所有學生響應

獲取學生 ID 請求

獲取學生 ID 響應

使用 Postman 測試

Postman 是一款流行的 API 客戶端,使開發人員能夠輕鬆建立、共享、測試和記錄 API。這是透過允許使用者建立和儲存簡單和複雜的 HTTP/s 請求以及讀取其響應來實現的。結果 - 更有效率且工作量更少。Postman 可以作為應用程式安裝,也可以像下面這樣透過瀏覽器傳送。

獲取所有學生請求和響應

獲取學生 ID 請求和響應

更新於: 2020-09-24

1K+ 瀏覽量

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.