More

    .Net Core Project 從零開始 — Create Web API with Swagger

    在介接上提供Web API給外部其他系統使用是很常見的,通常會搭配Swagger 套件來使用,一方面有Swagger UI 清楚簡潔的畫面方便測試使用,另一方面會產生Swagger Json簡易規格文件。

    Step 1 – Add .net core Application

    and choose API type

    Step 2 – Install Swashbuckle package

    套件的兼容性建議

    這邊使用的是.net core 2.1版本,所以選擇 verson 5.00-rc5的版本

    use .NET CLI

    dotnet add package Swashbuckle.AspNetCore --version 5.0.0-rc5

    Step 3 – 在Startup.cs的ConfigureServices方法中,註冊Swagger generator

    services.AddSwaggerGen(c =>
    {
           c.SwaggerDoc("v1", new OpenApiInfo { Title = "William API", Version = "v1" });
    });

    Step 4 – 在Startup.cs的Configure方法中,加入 middleware來動態生成 Swagger 的JSON文件。

    app.UseSwagger();

    PS. swagger.json文件的路徑會依照註冊c.SwaggerDoc的設定動態產生,目前設定產生的路徑為../swagger/v1/swagger.json

    Last Step:在Startup.cs的Configure方法中,加入 SwaggerUI的middleware這邊要指向 Swagger 的JSON文件才能動態以swagger.json文件生成畫面。

    app.UseSwaggerUI(c =>{c.SwaggerEndpoint("/swagger/v1/swagger.json", "William API V1");});

    *開始建置專案

    UseSwaggerUI 將Swagger Json文件轉換後的畫面 (預設URL: http://localhost:20383/swagger/)

    UseSwagger Middle 動態生成的Json文件 (預設URL: http://localhost:20383/swagger/v1/swagger.json)

    Conclusion: 透過這次實作建立Web API的專案並且套用Swagger讓畫面更簡潔易使用測試,並且了解在.net core上Swagger套件的運作與設定。

    .Net Core Project GitHub:Link

    下一遍 : .Net Core Project 從零開始 — Miniprofiler針對application進行效能監控

    Source : .Net Core Project 從零開始 — Create Web API with Swagger

    參考文章

    Swashbuckle.AspNetCore

    使用 Swagger/OpenAPI 的 ASP.NET Core Web API 說明頁面

    Recent Articles

    spot_img

    Related Stories

    Stay on op - Ge the daily news in your inbox