2

我们正在使用 Swashbuckle 在 Asp .Net 4.5(不是 Asp .Net 核心)上使用 C# 生成一个 swagger 2.0 json。我正在尝试调整我们的解决方案以生成 openApi 3.0:

  • 我了解 .Net 4.5 的 Swashbuckle 目前不支持 openApi 3.0
  • 我尝试使用nSwag,但无论使用函数UseSwaggerUi3,还是使用带有SchemaType = SchemaType.OpenApi3 的GenerateForControllersAsync,生成的openApi 似乎总是2.0。

.Net 4.5 的 nSwag 是否支持它?如果没有,是否有任何其他工具或解决方案无需升级到 .Net 核心?

我尝试使用 nSwag 的代码:

var settings = new WebApiToSwaggerGeneratorSettings
        {
            DefaultUrlTemplate = "api/{controller}/{action}/{id}"
        };

        var jsonSettings = new JsonSchemaGeneratorSettings();
        jsonSettings.SchemaType = SchemaType.OpenApi3;
        var schemaGen = new SwaggerJsonSchemaGenerator(jsonSettings);
        var generator = new WebApiToSwaggerGenerator(settings, schemaGen);
        var document = Task.Run(async () => await generator.GenerateForControllersAsync(controllers))
            .GetAwaiter().GetResult();
        var x= document.ToJson();

谢谢

4

0 回答 0