swashbuckle.aspnetcore 是否支持 asp.net 核心 3.0?

Is swashbuckle.aspnetcore supporting asp.net core 3.0?

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

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

及其使用

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

而不是

app.UserMvc();

我尝试添加 swashbuckle.aspnetcore 来生成它的招摇 ui。

它不工作。

swashbuckle.aspnetcore 是否已经支持 asp.net 核心 3.0?

我可以通过以下方式访问 3.0 Preview 7 中的 swagger ui:

<PackageReference Include="NSwag.AspNetCore" Version="13.0.4" />
public void ConfigureServices(IServiceCollection services) {
...
   services.AddSwaggerDocument();
}

Configure() {
...
   app.UseSwaggerUi3();
}

是的,ASP.NETCore 3.0 支持 Swashbuckle。

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

Install-Package Swashbuckle.AspNetCore -Version 5.0.0-rc3

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

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

使用 SwashBuckle.AspNetCore 版本 5.0.0-rc2 修复了它。