Request Data Types
Request data may be encoded into several primitive types. Since all data is eventually represented as UTF-8 strings, these types mostly define what characters are considered valid for data of a specific type. Additional validation rules may apply for specific parameters.
-
Boolean - A case insensitive Boolean value, represented as either “TRUE” or “FALSE”.
-
Integer - An integer (whole number).
-
String - A string of characters.
-
TimeStamp - The time and date represented in RFC-882/RFC-1123 format (e.g. “Sun, 06 Nov 1994 08:49:37 GMT“). The time and date must always be represented in the GMT time zone, even if the server or client uses a different default time zone.
-
Array - An array of values. Arrays are encoded by adding square brackets with an incrementing 0-based index number to the parameter name. For example, the array parameter fruits = (“apple”, “orange”, “banana”) is to be represented as follows:
fruits[0]=apple&fruits[1]=orange&fruits[2]=banana
Since request parameter names must be URL-encoded, the above parameter will actually be sent as:
fruits%5B0%5D=apple&fruits%5B1%5D=orange&fruits%5B2%5D=banana
-
Hashmap - A hash map (associative array) of values. Hashmaps are encoded using square brackets after the parameter name, with a key name inside the square brackets (unlike the Array type in which a number based index is used).
For example, the hash map UserInfo = { name: Tuco, lastname: Ramirez } will be represented as follows:
UserInfo[name]=Tuco&UserInfo[lastname]=Ramirez
Since request parameter names must be URL encoded, the above parameter will actually be sent as:
UserInfo%5Bname%5D=Tuco&UserInfo%5Blastname%5D=Ramirez