给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直接运行项目

可以通过界面直接测试调用接口,并可以方便的传值调用,非常方便,推荐!

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