Annotation Type JsonSerializableSchema


  • @Target(TYPE)
    @Retention(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.

    • Field Summary

      Fields 
      Modifier and Type Fields Description
      static java.lang.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 Description
      java.lang.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.
      java.lang.String schemaItemDefinition
      Deprecated.
      (since 2.1) -- support will be dropped in future, since JSON-as-String is fundamentally bad way for customizing anything.
      java.lang.String schemaObjectPropertiesDefinition
      Deprecated.
      (since 2.1) -- support will be dropped in future, since JSON-as-String is fundamentally bad way for customizing anything.
      java.lang.String schemaType
      The schema type for this JsonSerializable instance.
    • Field Detail

      • NO_VALUE

        static final java.lang.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

        java.lang.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

        java.lang.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
        java.lang.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
        java.lang.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"