c# - 获取 Swasbuckle 5 以输出 Swagger 2.0 Json 而不是 OpenAPI 3.0
问题描述
我已将 Swashbuckle 升级到第 5 版,一切都变得更好了。
现在我有一个问题,我的消费者需要 Swagger Json 格式作为 Swagger 2.0,而不是 Swashbuckle 5 中的默认值,它以 Openapi 3.0.1 格式输出 swagger。
我的配置如下:
public static void ConfigureSwagger(SwaggerGenOptions c)
{
c.SwaggerDoc("v1", new OpenApiInfo
{
Title = "Gdpr Api",
Version = "v1",
Description ="This API is for GDPR ."
});
c.EnableAnnotations();
}
public static void ConfigureSwaggerUi(this IApplicationBuilder app)
{
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "GDPR - Version 1");
c.DocumentTitle = "Gdpr Swagger";
});
}
解决方案
我认为这是不可能的,直到我发现您可以在 Helen 和RC4 发行说明的帮助下执行以下操作。解决方案是设置SerializeAsV2 = true
.
public static void ConfigureSwaggerUi(this IApplicationBuilder app)
{
app.UseSwagger(p => p.SerializeAsV2 = true);
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "GDPR - Version 1");
c.DocumentTitle = "Gdpr Swagger";
});
}
这将以 2.0 格式输出 Swagger JSON。
推荐阅读
- android - Android 11:卸载后重新获得应用文件夹所有权
- facebook-graph-api - 通过 FB Graph API 从我的页面获取评论时权限被拒绝
- javascript - Uncaught (in promise) TypeError: response is undefined using Fetch API
- android - 无法解析 chararray 对象的随机播放功能
- node.js - 为什么我的 socket.io 主中间件没有在套接字连接上启动?
- postgresql - 使用 Quill 在连接中进行排序和限制
- python - 如何检查列中的名称是否只是使用Python定义的数组中的名称
- logging - 机器人框架中“按标签统计”下的关键字标签
- python - 如何添加额外的 x 轴但具有不同的比例和颜色(matplotlib)
- nuget - NuGet 包解压到 net47 文件夹而不是 net48