Сгенерируйте схему для класса с помощью атрибута jsonconverterattribute
Я пытаюсь создать схему в формате JSON с использованием формата JSON.Чистая схема. Во всяком случае, мой класс имеет атрибут JsonConverter, как в приведенном ниже примере:
public class Building { [JsonConverter(typeof(BuildConverter))] public string Name { get; set; } public string Phone { get; set; } public string Type { get; set; } public string Address { get; set; } }
При генерации схемы из вышеприведенного класса получается пустая схема {{}}, которая вызвана указанным атрибутом.
Что я уже пробовал:
Я хотел создать JSchemaGenerationProvider для своего класса, но все еще не могу получить правильную схему.
public class CustomSchemaProvider : JSchemaGenerationProvider { public override JSchema GetSchema(JSchemaTypeGenerationContext context) { if (context.ObjectType == typeof(MyType)) { return CreateSchemaWithFormat(context.ObjectType, context.Required); } return null; } private JSchema CreateSchemaWithFormat(Type type, Required required) { JSchemaGenerator generator = new JSchemaGenerator(); JSchema schema = generator.Generate(type, required != Required.Always); return schema; } }
Использование:
public void ValidateSchema() { JSchemaGenerator generator = new JSchemaGenerator(); generator.GenerationProviders.Add(new CustomSchemaProvider()); JSchema schema = generator.Generate(typeof(Building)); Console.WriteLine(schema); }
Не мог бы кто-нибудь взглянуть и подсказать, что я делаю неправильно и как получить правильную схему против {{}}? Я буду признателен за любую помощь.