Package feign

Annotation Type QueryMap


  • @Retention(RUNTIME)
    @Target(PARAMETER)
    public @interface QueryMap
    A template parameter that can be applied to a Map that contains query parameters, where the keys are Strings that are the parameter names and the values are the parameter values. The queries specified by the map will be applied to the request after all other processing, and will take precedence over any previously specified query parameters. It is not necessary to reference the parameter map as a variable.

     ...
     @RequestLine("POST /servers")
     void servers(@QueryMap Map);
     ...
    
     @RequestLine("GET /servers/{serverId}?count={count}")
     void get(@Param("serverId") String serverId, @Param("count") int count, @QueryMap Map);
     ...
     
    The annotated parameter must be an instance of Map, and the keys must be Strings. The query value of a key will be the value of its toString method, except in the following cases:

    • if the value is null, the value will remain null (rather than converting to the String "null")
    • if the value is an Iterable, it is converted to a List of String objects where each value in the list is either null if the original value was null or the value's toString representation otherwise.

    Once this conversion is applied, the query keys and resulting String values follow the same contract as if they were set using RequestTemplate.query(String, String...).
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      boolean encoded
      Specifies whether parameter names and values are already encoded.
    • Element Detail

      • encoded

        boolean encoded
        Specifies whether parameter names and values are already encoded.
        See Also:
        Param.encoded()
        Default:
        false