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

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 1: Line 1:
== Specifying Request Arguments ==
== Specifying Request Arguments ==
In a REST request, you pass arguments in the form of ''query parameters''. Those parameters are specified in the form <tt>parameterName=value</tt>.
{{:Specifying Parameters in a URL}}
 
A ''parameter list'' is appended to a URI after a "?". Multiple parameters are separated by "&", as shown here:
:<syntaxhighlight lang="vbnet">
  http://{domain}/{address}?parameterName1=value1&parameterName2=value2
</syntaxhighlight>
 
For example:
:<syntaxhighlight lang="vbnet">
  http://myLongJump.com/networking/rest/user?fieldList=*&sortBy=first_name
</syntaxhighlight>
 
For boolean arguments, the value passed can be "1" or "true", "0" or "false".
 
In some cases, it may be necessary to [http://www.blooberry.com/indexdot/html/topics/urlencoding.htm encode special characters] in order to include them in an argument value. For example:
:{| border="1" cellpadding="5" cellspacing="1"
! Instead of !! align="left"| Use
|-
| & (A&B) || %26 (A%26B)
|-
| space (A B) || %20 (A%20B)
|}


== Specifying Response Format ==
== Specifying Response Format ==

Revision as of 22:34, 14 September 2011

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:

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>