org.springframework.web.bind.annotation

Annotation Type MatrixVariable



  • @Target(value=PARAMETER)
     @Retention(value=RUNTIME)
     @Documented
    public @interface MatrixVariable
    Annotation which indicates that a method parameter should be bound to a name-value pair within a path segment. Supported for RequestMapping annotated handler methods.

    If the method parameter type is Map and a matrix variable name is specified, then the matrix variable value is converted to a Map assuming an appropriate conversion strategy is available.

    If the method parameter is Map<String, String> or MultiValueMap<String, String> and a variable name is not specified, then the map is populated with all matrix variable names and values.

    Since:
    3.2
    Author:
    Rossen Stoyanchev, Sam Brannen
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element and Description
      java.lang.String defaultValue
      The default value to use as a fallback.
      java.lang.String name
      The name of the matrix variable.
      java.lang.String pathVar
      The name of the URI path variable where the matrix variable is located, if necessary for disambiguation (e.g.
      boolean required
      Whether the matrix variable is required.
      java.lang.String value
      Alias for name().
    • Element Detail

      • value

        @AliasFor(value="name")
        public abstract java.lang.String value
        Alias for name().
        Default:
        ""
      • name

        @AliasFor(value="value")
        public abstract java.lang.String name
        The name of the matrix variable.
        Since:
        4.2
        See Also:
        value()
        Default:
        ""
      • pathVar

        public abstract java.lang.String pathVar
        The name of the URI path variable where the matrix variable is located, if necessary for disambiguation (e.g. a matrix variable with the same name present in more than one path segment).
        Default:
        "\n\t\t\n\t\t\n\ue000\ue001\ue002\n\t\t\t\t\n"
      • required

        public abstract boolean required
        Whether the matrix variable is required.

        Default is true, leading to an exception being thrown in case the variable is missing in the request. Switch this to false if you prefer a null if the variable is missing.

        Alternatively, provide a defaultValue(), which implicitly sets this flag to false.

        Default:
        true
      • defaultValue

        public abstract java.lang.String defaultValue
        The default value to use as a fallback.

        Supplying a default value implicitly sets required() to false.

        Default:
        "\n\t\t\n\t\t\n\ue000\ue001\ue002\n\t\t\t\t\n"