給ASP.NET Core WebAPI添加Swagger支持

ASP.NET Core WebAPI是開發WebAPI接口的有利武器,且由於擁有.NET Core的基因支持跨平臺,是當前.NET中開發接口的有利武器。但一般來說WebAPI接口開發完畢後,在發佈前還需要測試。我們可以藉助於外部的Fiddler等工具進行測試,但不太方便,尤其要進行接口傳值時。那這個時候可以通過Swagger工具直接在Web網頁中操作會極大的方便進行接口測試工作。

操作步驟:

一、asp.net core項目通過nuget包管理器添加swashbuckle.AspNetCore包

注意名稱,不要添加錯誤,如下圖所示。

二、在program.cs中註冊swagger服務

註冊swagger服務,可以通過添加中間件的形式注入,代碼如下:

// Add services to the container.
builder.Services.AddSwaggerGen(t =>
{
    t.SwaggerDoc("v1", new OpenApiInfo()
    {
        Title = "xxx", //xxx內容爲swagger中顯示的標題
        Version = "v1",//v1爲顯示的版本號
        Description = "xxx", //xxx內容爲swagger中顯示的描述部分
    });
});

添加swagger支持

//添加swagger
app.UseSwagger();
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "test");
});

 三、運行WebAPI項目

修改launchSettings.json文件的launchUrl爲swagger,如下。這樣運行時就可以直接打開swagger界面了。

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:48397",
      "sslPort": 0
    }
  },
  "profiles": {
    "BroadswordWebAPI": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "launchUrl": "swagger",
      "applicationUrl": "http://localhost:5220",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

ctrl+f5直接運行項目

可以通過界面直接測試調用接口,並可以方便的傳值調用,非常方便,推薦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章