Генерация OpenApi 3 из ApiControllers (C #, .Net 4.5) - PullRequest
0 голосов
/ 10 декабря 2018

Мы используем Swashbuckle для генерации swagger 2.0 json, используя C # в Asp .Net 4.5 (не в ядре Asp .Net).Я пытаюсь адаптировать наше решение для генерации openApi 3.0:

  • Я понимаю, что Swashbuckle для .Net 4.5 в настоящее время не поддерживает openApi 3.0
  • Я пытался использовать nSwag, но кажется, чтогенерируется openApi всегда 2.0, независимо от использования функции UseSwaggerUi3 или GenerateForControllersAsync с SchemaType = SchemaType.OpenApi3.

Поддерживается ли оно в nSwag для .Net 4.5?Если нет, есть ли какой-либо другой инструмент или решение без обновления до ядра .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();

Спасибо

...