Swagger UI的.Net Core API版本问题

问题描述 投票:0回答:1

我一直在关注this example在API上实现版本控制,我正在使用标题版本控制。在使用示例交换useSwaggerUI代码后,我不再获得一个昂首阔步的UI:

enter image description here

当我通过以下调试时:

app.UseSwaggerUI(options =>
{
    //options.DocumentTitle = "Web API Core";
    //options.SwaggerEndpoint("/swagger/v1/swagger.json", "WebAPICore V1");
    //options.SwaggerEndpoint("/swagger/v2/swagger.json", "WebAPICore V2");
    //options.RoutePrefix = string.Empty;
    foreach (var description in provider.ApiVersionDescriptions)
    {
 options.SwaggerEndpoint($"/swagger/{description.GroupName}/swagger.json", description.GroupName.ToUpperInvariant());
    }
});

似乎SwaggerEndpoint调用将url格式化为与注释的url相同。我显然错过了一些东西,或者这已经发生了一些变化,我需要做一些不同的事情。有人能在这里提出建议吗?

  • .Net Core 2.2
  • .Swashbuckle.AspNetCore 4.01

[编辑 - 更多信息]当我现在运行它并看到描述的SwaggerUI时,我可以使用Postman命中端点并且标题版本控制工作。

.net-core swagger swagger-ui
1个回答
0
投票

找到了。在完成它的同时,我还使用其他网站来帮助解决我遇到的一些问题,结果证明:

options.DocInclusionPredicate((docName, description) => true);

在AddSwaggerGen方法中。摆脱它,我有Swagger ui回来。

© www.soinside.com 2019 - 2024. All rights reserved.