C#
 Computer >> コンピューター >  >> プログラミング >> C#

C# ASP.NET Web APIのテスト方法を解説!SwaggerとPostmanの使い方


Web APIのテストは、リクエストを送信してレスポンスを受け取るという流れで行います。テストにはさまざまな方法がありますが、本記事では「Swagger」と「Postman」という2つの定番ツールを使ったテスト手法を解説します。まずは、以下のようなStudentControllerを作成しましょう。

Studentモデル

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

Studentコントローラー

サンプルコード

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とドキュメントの同期が自動的に保たれるのが大きな特徴です。

アプリケーションにSwaggerを導入するには、「NuGetパッケージの管理」からインストールを行います。

C# ASP.NET Web APIのテスト方法を解説!SwaggerとPostmanの使い方

次に、Web APIプロジェクトを実行し、URLにswagger/ui/indexと入力します。

C# ASP.NET Web APIのテスト方法を解説!SwaggerとPostmanの使い方

すると、Swaggerがコントローラーとそのアクションメソッドを自動的に一覧表示します。各コントローラーを展開すれば、画面上から直接リクエストを送信してエンドポイントの動作を確認できます。

全学生データ取得のリクエスト

C# ASP.NET Web APIのテスト方法を解説!SwaggerとPostmanの使い方

全学生データ取得のレスポンス

C# ASP.NET Web APIのテスト方法を解説!SwaggerとPostmanの使い方

ID指定での学生データ取得のリクエスト

C# ASP.NET Web APIのテスト方法を解説!SwaggerとPostmanの使い方

ID指定での学生データ取得のレスポンス

C# ASP.NET Web APIのテスト方法を解説!SwaggerとPostmanの使い方

Postmanを使ったテスト

Postmanは、開発者がAPIの作成・共有・テスト・ドキュメント化を簡単に行える、世界中で広く使われているAPIクライアントツールです。シンプルなものから複雑なものまで、さまざまなHTTP/HTTPSリクエストを作成・保存でき、そのレスポンスもすぐに確認できます。これにより作業効率が大幅に向上し、手間のかかる検証作業を軽減できます。Postmanはデスクトップアプリケーションとしてインストールするほか、ブラウザ経由でも利用可能です。

C# ASP.NET Web APIのテスト方法を解説!SwaggerとPostmanの使い方

全学生データ取得のリクエストとレスポンス

C# ASP.NET Web APIのテスト方法を解説!SwaggerとPostmanの使い方

ID指定での学生データ取得のリクエストとレスポンス

C# ASP.NET Web APIのテスト方法を解説!SwaggerとPostmanの使い方

  1. C# ASP.NET WebAPIでCORSの問題を解決する方法を徹底解説

    CORS(クロスオリジンリソースシェアリング)とはクロスオリジンリソースシェアリング(Cross-Origin Resource Sharing:CORS)は、追加のHTTPヘッダーを使用して、あるオリジンで動作しているWebアプリケーションに対し、別のオリジンにある選択されたリソースへのアクセスを許可するようブラウザに指示する仕組みです。Webアプリケーションは、自身とは異なるオリジン(ドメイン、プロトコル、ポート)のリソースを要求する際に、クロスオリジンHTTPリクエストを実行します。例として、フロントエンド(UI)とバックエンド(サービス)を持つアプリケーションを考えてみましょう。フロン

  2. C# ASP.NET Web APIのアクションメソッドからカスタム結果タイプを返す方法

    ASP.NET Web APIでは、IHttpActionResultインターフェースを実装することで、独自のカスタムクラスを結果タイプとして作成できます。IHttpActionResultインターフェースには、HttpResponseMessageインスタンスを非同期に生成する単一のメソッド ExecuteAsync が定義されています。public interface IHttpActionResult { Task<HttpResponseMessage> ExecuteAsync( CancellationToken cancellationToke