swashbuckle.aspnetcore是否支持asp.net core 3.0?

时间:2019-08-06 02:06:02

标签: c# swagger swagger-ui swashbuckle 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吗?

3 个答案:

答案 0 :(得分:2)

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

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

Install-Package Swashbuckle.AspNetCore -Version 5.0.0-rc3

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

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

答案 1 :(得分: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();
}

答案 2 :(得分:0)

使用SwashBuckle.AspNetCore 5.0.0-rc2版本修复了该问题。