我们正在使用 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();
谢谢