C# 让Swasbuckle 5输出Swagger 2.0 Json,而不是OpenAPI 3.0
我已经将我的虚张声势升级到第5版,一切都好得多 现在我有一个问题,我的消费者需要Swagger Json formattet作为Swagger 2.0,而不是Swashbuckle 5中以Openapi 3.0.1格式输出Swagger的默认值 我的配置如下:C# 让Swasbuckle 5输出Swagger 2.0 Json,而不是OpenAPI 3.0,c#,swagger,openapi,C#,Swagger,Openapi,我已经将我的虚张声势升级到第5版,一切都好得多 现在我有一个问题,我的消费者需要Swagger Json formattet作为Swagger 2.0,而不是Swashbuckle 5中以Openapi 3.0.1格式输出Swagger的默认值 我的配置如下: public static void ConfigureSwagger(SwaggerGenOptions c) { c.SwaggerDoc("v1", new OpenApiInfo {
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";
});
}
我认为这是不可能的,直到我发现你可以在海伦和老师的帮助下做到以下几点。解决方案是将
序列化为v2=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