Difference between revisions of "Specifying Query Parameters in REST APIs"
imported>Aeric |
imported>Aeric |
||
Line 1: | Line 1: | ||
In a REST GET request, you can specify arguments and the response format in the URL. For other request types, you can specify the response format. | |||
__TOC__ | |||
== Specifying Request Arguments == | == Specifying Request Arguments == | ||
{{:Specifying Parameters in a URL}} | {{:Specifying Parameters in a URL}} |
Revision as of 22:38, 14 September 2011
In a REST GET request, you can specify arguments and the response format in the URL. For other request types, you can specify the response format.
Specifying Request Arguments
You pass arguments in a URL using query parameters. Those parameters are specified in the form parameterName=value.
A parameter list is appended to a URI after a "?". Multiple parameters are separated by "&", as shown here:
- <syntaxhighlight lang="vbnet">
https://{yourDomain}/networking/{targetAddress}?parameterName1=value1¶meterName2=value2
</syntaxhighlight>
For boolean arguments, the value passed can be "1" or "true", "0" or "false".
Note:
When specifying a URL in code, any special characters (characters other than letters and numbers) need to be encoded. For example, a space character can be encoded using either + or %20.(Browsers typically take care of encoding URLs entered into the address bar--so the URL displayed after visiting a page may differ somewhat from the one that was initially entered.)
Here are some typical encodings:
space
+
%%20 or +
%2B
%25
So:
Instead of Use & (A&B)
space (A B)%26 (A%26B)
%20 (A%20B)
It can be hard to get be hard to get the encoding right, so it's desirable to use a language library designed for the purpose.
Learn more:- URL Encoding in HTML
- Encode a URL in JavaScript
- URLEncoder class for Java
Specifying Response Format
You specify the response format as either XML (the default) or JSON, using the alt parameter:
- ?alt=xml
- ?alt=json
- Example
- <syntaxhighlight lang="vbnet">
http://{domain}/{address}?alt=json
</syntaxhighlight>