使用Swashbuckle与c.MultipleApiVersions((apiDesc, version) =>
.结果是我们的swagger文件驻留在例如:https://host/api/swagger/docs/{version}。实际上,我希望在https://host/api/{version}/swagger上使用swagger文件。我可以在我的SwaggerConfig .EnableSwagger()
中设置它吗?
这将允许使用以下Urls:
感谢你的帮助。
发布于 2016-10-04 12:37:14
为此,您可以更新swaggerconfig文件,如下所示:
.EnableSwagger("{apiVersion}/swagger", c =>
{
c.MultipleApiVersions(
(vc) =>
{
vc.Version("v2", "Swashbuckle Dummy API V2");
vc.Version("v1", "Swashbuckle Dummy API V1");
});
});
发布于 2019-06-11 22:42:24
只是为了在asp.net核心2.2中获得更多的参考,它会像这样显示
app.UseSwagger(options =>
{
options.RouteTemplate = "docs/{documentName}/docs.json";
});
app.UseSwaggerUI(options =>
{
//Build a swagger endpoint for each discovered API version
foreach (var description in provider.ApiVersionDescriptions.OrderByDescending(x=>x.ApiVersion).AsList())
{
options.SwaggerEndpoint($"/docs/{description.GroupName}/docs.json", description.GroupName);
}
options.RoutePrefix = "docs";
}
);
其中provider
是由DI注入IApiVersionDescriptionProvider
的
https://stackoverflow.com/questions/39859549
复制相似问题