Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
65 lines (63 loc) · 2.51 KB

File metadata and controls

65 lines (63 loc) · 2.51 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/**
* Copyright 2012-2018 The Feign Authors
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
package feign;
import java.lang.annotation.Retention;
import java.util.List;
import java.util.Map;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* 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. <br>
* <br>
*
* <pre>
* ...
* &#64;RequestLine("POST /servers")
* void servers(&#64;QueryMap Map<String, String>);
* ...
*
* &#64;RequestLine("GET /servers/{serverId}?count={count}")
* void get(&#64;Param("serverId") String serverId, &#64;Param("count") int count, &#64;QueryMap Map<String, Object>);
* ...
* </pre>
*
* The annotated parameter must be an instance of {@link 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:
* <br>
* <br>
* <ul>
* <li>if the value is null, the value will remain null (rather than converting to the String
* "null")
* <li>if the value is an {@link Iterable}, it is converted to a {@link 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.
* </ul>
* <br>
* Once this conversion is applied, the query keys and resulting String values follow the same
* contract as if they were set using {@link RequestTemplate#query(String, String...)}.
*/
@Retention(RUNTIME)
@java.lang.annotation.Target(PARAMETER)
public @interface QueryMap {
/**
* Specifies whether parameter names and values are already encoded.
*
* @see Param#encoded
*/
boolean encoded() default false;
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.