com.fasterxml.jackson.databind.jsonschema

Annotation Type JsonSerializableSchema



  • @Target(value=TYPE)
     @Retention(value=RUNTIME)
    public @interface JsonSerializableSchema
    Annotation that can be used to define JSON Schema definition for the annotated class.

    Note that annotation is often not needed: for example, regular Jackson beans that Jackson can introspect can be used without annotations, to produce JSON schema definition.

    Author:
    Ryan Heaton, Tatu Saloranta
    • Field Summary

      Fields 
      Modifier and Type Fields and Description
      static String NO_VALUE
      Marker value used to indicate that property has "no value"; needed because annotations cannot have null as default value.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element and Description
      String id
      Property that can be used to indicate id of the type when generating JSON Schema; empty String indicates that no id is defined.
      String schemaItemDefinition
      Deprecated. 
      (since 2.1) -- support will be dropped in future, since JSON-as-String is fundamentally bad way for customizing anything. No direct replacements offered.
      String schemaObjectPropertiesDefinition
      Deprecated. 
      (since 2.1) -- support will be dropped in future, since JSON-as-String is fundamentally bad way for customizing anything. No direct replacements offered.
      String schemaType
      The schema type for this JsonSerializable instance.
    • Field Detail

      • NO_VALUE

        public static final String NO_VALUE
        Marker value used to indicate that property has "no value"; needed because annotations cannot have null as default value.
    • Element Detail

      • id

        public abstract String id
        Property that can be used to indicate id of the type when generating JSON Schema; empty String indicates that no id is defined.
        Default:
        ""
      • schemaType

        public abstract String schemaType
        The schema type for this JsonSerializable instance. Possible values: "string", "number", "boolean", "object", "array", "null", "any"
        Returns:
        The schema type for this JsonSerializable instance.
        Default:
        "any"
      • schemaObjectPropertiesDefinition

        @Deprecated
        public abstract String schemaObjectPropertiesDefinition
        Deprecated. (since 2.1) -- support will be dropped in future, since JSON-as-String is fundamentally bad way for customizing anything. No direct replacements offered.
        If the schema type is "object", JSON definition of properties of the object as a String.
        Returns:
        The node representing the schema properties, or "##irrelevant" if irrelevant.
        Default:
        "##irrelevant"
      • schemaItemDefinition

        @Deprecated
        public abstract String schemaItemDefinition
        Deprecated. (since 2.1) -- support will be dropped in future, since JSON-as-String is fundamentally bad way for customizing anything. No direct replacements offered.
        If the schema type if "array", JSON definition of the schema for item types contained.
        Returns:
        The schema for the items in the array, or "##irrelevant" if irrelevant.
        Default:
        "##irrelevant"

Copyright © 2008–2021 FasterXML. All rights reserved.