首页 > 解决方案 > swashbuckle.aspnetcore 是否支持 asp.net core 3.0?

问题描述

我正在安装一个新的 asp.net core 3.0

它使用 services.AddControllers();而不是services.addMvc();

及其使用

  app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });

代替

app.UserMvc();

我尝试添加swashbuckle.aspnetcore以生成其招摇的用户界面。

它不工作。

已经swashbuckle.aspnetcore支持 asp.net core 3.0 了吗?

标签: c#swaggerswagger-uiswashbuckleasp.net-core-3.0

解决方案


是的,ASP.NET Core 3.0 支持 Swashbuckle。

1)您可以通过在包管理器控制台中运行以下命令来简单地安装它:

Install-Package Swashbuckle.AspNetCore -Version 5.0.0-rc3

2)然后将Swagger生成器添加到Startup.ConfigureServices方法中的服务集合中:

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

3) 在Startup.Configure方法中,添加这两个以启用中间件以提供生成的 JSON 文档和 Swagger UI:

// Enable middleware to serve generated Swagger as a JSON endpoint.
app.UseSwagger();

// Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
// specifying the Swagger JSON endpoint.
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});

要对其进行自定义,您可以在此处查看完整指南: https ://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-3.0&tabs=visual-studio


推荐阅读