欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

.net core 安装Swagger

程序员文章站 2024-01-21 20:27:16
...

Install-Package Swashbuckle -Pre

1.Startup

// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();

    //******************* swagger start ***********************
    services.AddSwaggerGen(c =>
    {
        c.SingleApiVersion(new Info
        {
            Version = "v1",     // 这个属性必须要填,否则会引发一个异常
            Title = "Feature List",
            Description = "特征"
        });
    });

    services.ConfigureSwaggerGen(c =>
    {
        // 配置生成的 xml 注释文档路径
        c.IncludeXmlComments(GetXmlCommentsPath());
    });

    //******************* swagger end ***********************
}

private string GetXmlCommentsPath()
{
    var app = PlatformServices.Default.Application;
    return Path.Combine(app.ApplicationBasePath, Path.ChangeExtension(app.ApplicationName, "xml"));
}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    loggerFactory.AddDebug();

    app.UseMvc();

    //******************* swagger start ***********************
    app.UseSwagger();
    app.UseSwaggerUi("swagger/ui/index");
    //******************* swagger end ***********************
}

如上:
//******************* swagger start ***********************
//******************* swagger end ***********************

2.launchSettings.json

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:40675/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "swagger/ui/index",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "SigmalHex.WebApi": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "swagger/ui/index",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "http://localhost:40676"
    }
  }
}

如:
"launchUrl": "swagger/ui/index",