通过 NJsonSchema 为 .NET 或 Newtonsoft.Json.Schema 生成 swagger v2 模式

问题描述

我需要使用一个工具,最好是 njsonSchema for .NET 来从 c# 类生成模式。要求是基于 swagger 版本 2 创建模式。例如,我不能有 oneOf、anyOf 等,它们是模式中 OAS3 中的新关键字。 我们可以在模式生成器中指定 swagger/OAS 版本吗? 这怎么办?

解决方法

我刚刚发现NJsonSchema中有一个用于选择版本的设置:

var settings = new JsonSchemaGeneratorSettings
            {
                SchemaType = NJsonSchema.SchemaType.Swagger2,};