@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.

  • Optional Element Summary

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

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

    • NO_VALUE

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

    • id

      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

      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 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 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"