我正在安装新的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吗?
答案 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版本修复了该问题。