NJsonSchema.Generation.JsonSchemaGenerator
Generates a JsonSchema object for a given type.
namespace NJsonSchema.Generation
{
public class JsonSchemaGenerator
{
public JsonSchemaGeneratorSettings Settings { get; }
public JsonSchemaGenerator(JsonSchemaGeneratorSettings settings);
public static JsonSchema FromType<[Nullable(2)] TType>(JsonSchemaGeneratorSettings settings);
public static JsonSchema FromType(Type type, JsonSchemaGeneratorSettings settings);
public JsonSchema Generate(Type type);
public JsonSchema Generate(Type type, JsonSchemaResolver schemaResolver);
public TSchemaType Generate<[Nullable(0)] TSchemaType>(Type type, JsonSchemaResolver schemaResolver) where TSchemaType : JsonSchema, new;
public JsonSchema Generate(ContextualType contextualType, JsonSchemaResolver schemaResolver);
public TSchemaType Generate<[Nullable(0)] TSchemaType>(ContextualType contextualType, JsonSchemaResolver schemaResolver) where TSchemaType : JsonSchema, new;
public void Generate<[Nullable(0)] TSchemaType>(TSchemaType schema, Type type, JsonSchemaResolver schemaResolver) where TSchemaType : JsonSchema, new;
public virtual void Generate<[Nullable(0)] TSchemaType>(TSchemaType schema, ContextualType contextualType, JsonSchemaResolver schemaResolver) where TSchemaType : JsonSchema, new;
public TSchemaType GenerateWithReference<[Nullable(0)] TSchemaType>(ContextualType contextualType, JsonSchemaResolver schemaResolver, Action<TSchemaType, JsonSchema> transformation = null) where TSchemaType : JsonSchema, new;
public TSchemaType GenerateWithReferenceAndNullability<[Nullable(0)] TSchemaType>(ContextualType contextualType, JsonSchemaResolver schemaResolver, Action<TSchemaType, JsonSchema> transformation = null) where TSchemaType : JsonSchema, new;
public virtual TSchemaType GenerateWithReferenceAndNullability<[Nullable(0)] TSchemaType>(ContextualType contextualType, bool isNullable, JsonSchemaResolver schemaResolver, Action<TSchemaType, JsonSchema> transformation = null) where TSchemaType : JsonSchema, new;
public virtual void ApplyDataAnnotations(JsonSchema schema, JsonTypeDescription typeDescription);
public virtual object ConvertDefaultValue(ContextualType type, object defaultValue);
public virtual object GenerateExample(ContextualType type);
public virtual object GenerateExample(ContextualAccessorInfo accessorInfo);
protected virtual void GenerateObject(JsonSchema schema, JsonTypeDescription typeDescription, JsonSchemaResolver schemaResolver);
public virtual string[] GetTypeProperties(Type type);
protected virtual void GenerateArray<[Nullable(0)] TSchemaType>(TSchemaType schema, JsonTypeDescription typeDescription, JsonSchemaResolver schemaResolver) where TSchemaType : JsonSchema, new;
protected virtual void GenerateDictionary<[Nullable(0)] TSchemaType>(TSchemaType schema, JsonTypeDescription typeDescription, JsonSchemaResolver schemaResolver) where TSchemaType : JsonSchema, new;
protected virtual void GenerateEnum(JsonSchema schema, JsonTypeDescription typeDescription);
public bool IsAbstractProperty(ContextualMemberInfo memberInfo);
public void AddProperty(JsonSchema parentSchema, ContextualAccessorInfo property, JsonTypeDescription propertyTypeDescription, string propertyName, Attribute requiredAttribute, bool hasRequiredAttribute, bool isNullable, object defaultValue, JsonSchemaResolver schemaResolver);
public virtual bool IsPropertyIgnored(ContextualAccessorInfo accessorInfo, Type parentType);
public bool IsPropertyIgnoredBySettings(ContextualAccessorInfo accessorInfo);
public dynamic GetDataMemberAttribute(ContextualAccessorInfo accessorInfo, Type parentType);
}
}