如何解决使用Swashbuckle的.NET Core中每个区域每个版本的OpenAPI定义文件
我在Swashbuckle中使用Microsoft.AspNetCore.Mvc.Versioning,Swashbuckle使用启动配置为每个版本生成定义文件:
id relates_to_id
1 1
2 1
2 2
. . .
URL为:
app.UseSwaggerUI(c =>
{
// generate endpoint for each version
foreach (var description in provider.ApiVersionDescriptions)
{
c.SwaggerEndpoint($"/swagger/{description.GroupName}/swagger.json",description.GroupName.ToUpperInvariant());
}
});
我想通过控制器上的属性将api\v1\fruit
引入API路由:
Area
使用网址:
[ApiVersion("2.0")]
[Area("Private")]
我该如何实现?
解决方法
我认为这可能对您有所帮助,尽管我担心这不是一个完整的解决方案。
https://github.com/microsoft/aspnet-api-versioning/issues/516#issuecomment-561348964
看来,如果你使用格式'options.GroupNameFormat = "'v'VVV";' 然后版本控制的最后一部分可以是字母数字,即您应该能够像这样编写版本;
[ApiVersion("3.0.session")]
[ApiVersion( "3.0.authoring" )]
在 tread 的进一步下方,另一个建议使用替代配置,允许您切换名称,以便在 swagger 文档中颠倒版本和名称,即 ApiVersion 3.0.session 变为 {{1} } .
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。