Difference between revisions of "Specifying Query Parameters in REST APIs"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
m (Text replace - '{domain}' to '{{domain}}')
 
(2 intermediate revisions by the same user not shown)
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.
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__  
__TOC__  
== Specifying Request Arguments ==
{{:Specifying Parameters in a URL}}
== Specifying Response Format ==
== Specifying Response Format ==
You specify the response format as either [http://en.wikipedia.org/wiki/XML XML] (the default) or [http://en.wikipedia.org/wiki/Json JSON], using the <tt>alt</tt> parameter:
You specify the response format as either [http://en.wikipedia.org/wiki/XML XML] (the default) or [http://en.wikipedia.org/wiki/Json JSON], using the <tt>alt</tt> parameter:
Line 11: Line 8:
;Example:  
;Example:  
:<syntaxhighlight lang="vbnet">
:<syntaxhighlight lang="vbnet">
   http://{domain}/networking/{targetAddress}?alt=json
   https://{{domain}}/networking/{targetAddress}?alt=json
</syntaxhighlight>
</syntaxhighlight>
== Specifying Request Arguments ==
{{:Specifying Parameters in a URL}}

Latest revision as of 19:21, 25 April 2014

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 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">
 https://{yourDomain}/networking/{targetAddress}?alt=json

</syntaxhighlight>

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&parameterName2=value2

</syntaxhighlight>

For boolean arguments, the value passed can be "1" or "true", "0" or "false".

Notepad.png

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: