Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 让Swasbuckle 5输出Swagger 2.0 Json,而不是OpenAPI 3.0_C#_Swagger_Openapi - Fatal编程技术网

C# 让Swasbuckle 5输出Swagger 2.0 Json,而不是OpenAPI 3.0

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 {

我已经将我的虚张声势升级到第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
        {
            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