Annotation Interface UrlEncoding


Annotation that can be applied to classes, fields, and methods to tweak how they are handled by UrlEncodingSerializer and UrlEncodingParser.

Can be used in the following locations:

  • Marshalled classes/methods/fields.
  • @Rest-annotated classes and @RestOp-annotated methods when an on() value is specified.
See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Optional description for the exposed API.
    boolean
    When true, bean properties of type array or Collection will be expanded into multiple key/value pairings.
    Dynamically apply this annotation to the specified classes/methods/fields.
    Class<?>[]
    Dynamically apply this annotation to the specified classes.
  • Element Details

    • description

      Optional description for the exposed API.
      Returns:
      The annotation value.
      Since:
      9.2.0
      Default:
      {}
    • expandedParams

      When true, bean properties of type array or Collection will be expanded into multiple key/value pairings.

      This annotation is identical in behavior to using the UrlEncodingSerializer.Builder.expandedParams() and UrlEncodingParser.Builder.expandedParams() properties, but applies to only instances of this bean.

      Returns:
      The annotation value.
      Default:
      false
    • on

      Dynamically apply this annotation to the specified classes/methods/fields.

      Used in conjunction with BeanContext.Builder.applyAnnotations(Class...) to dynamically apply an annotation to an existing class/method/field. It is ignored when the annotation is applied directly to classes/methods/fields.

      Valid patterns:
      • Classes:
        • Fully qualified:
          • "com.foo.MyClass"
        • Fully qualified inner class:
          • "com.foo.MyClass$Inner1$Inner2"
        • Simple:
          • "MyClass"
        • Simple inner:
          • "MyClass$Inner1$Inner2"
          • "Inner1$Inner2"
          • "Inner2"
      • Methods:
        • Fully qualified with args:
          • "com.foo.MyClass.myMethod(String,int)"
          • "com.foo.MyClass.myMethod(java.lang.String,int)"
          • "com.foo.MyClass.myMethod()"
        • Fully qualified:
          • "com.foo.MyClass.myMethod"
        • Simple with args:
          • "MyClass.myMethod(String,int)"
          • "MyClass.myMethod(java.lang.String,int)"
          • "MyClass.myMethod()"
        • Simple:
          • "MyClass.myMethod"
        • Simple inner class:
          • "MyClass$Inner1$Inner2.myMethod"
          • "Inner1$Inner2.myMethod"
          • "Inner2.myMethod"
      • Fields:
        • Fully qualified:
          • "com.foo.MyClass.myField"
        • Simple:
          • "MyClass.myField"
        • Simple inner class:
          • "MyClass$Inner1$Inner2.myField"
          • "Inner1$Inner2.myField"
          • "Inner2.myField"
      • A comma-delimited list of anything on this list.
      See Also:
      Returns:
      The annotation value.
      Default:
      {}
    • onClass

      Dynamically apply this annotation to the specified classes.

      Identical to on() except allows you to specify class objects instead of a strings.

      See Also:
      Returns:
      The annotation value.
      Default:
      {}