You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Web APIs can pass in parameters in three different ways: 1.) Query Fields, 2.) Request Header Fields, and 3.) Request Body. This article will explain how to retrieve the value of a parameter for each of these scenarios.

Query Params

Query fields (aka query params) appear in the URL and are separated from the main resource endpoint with the question mark ("?") character and then followed with one or more parameters. Each parameter is separated with the ampersand ("&") character. Parameters normally take the form of a name/value pair. The equal sign ("=") character is used to separate the field name from the field value. Query fields can appear alone as a label, but this rare and discouraged because the meaning of a label is ambiguous (e.g., Does a label without a value imply an empty value? Is a label without a value meant to be a value in and of itself by virtue of appearing in the URL?).

Here are a few examples of well-formed query fields:

GET https://www.examples.org/parts?color=red

GET https://www.examples.org/customers?status=active&state=NY

POST https://www.examples.org/oauth?token=5DS7o0QFQ2olod2bIOKDKw9glo3hMx

If query fields are important to your API (which is likely since you need to allow them to be accepted in the first place) you'll want to retrieve the value of each query field. This could be done by parsing the full URL yourself (which is automatically stored in the FullEndpointURL variable). However, we recommend you use the GetQueryField service (which is a member of the HTTP_Services module). Here is what our code might look like:

// https://www.examples.org/parts?color=red
PartColor   = HTTP_Services('GetQueryField', 'color')
CustStatus  = HTTP_Services('GetQueryField', 'status')

// https://www.examples.org/customers?status=active&state=NY
CustState   = HTTP_Services('GetQueryField', 'state')

// https://www.examples.org/oauth?token=5DS7o0QFQ2olod2bIOKDKw9glo3hMx
Token       = HTTP_Services('GetQueryField', 'token')

Note: query fields are case sensitive.

Request Headers Fields

HTTP requests can also include header fields, Like query fields, they are formatted as name/value pairs with the equal sign ("=") character separating the field name from the field value. There are a number of pre-defined header fields but developers can also define their own.

Note: Please review the Required Settings section in the Registry Configuration article to understand how to support custom header fields.


Request Body


  • No labels