WSQuery
Specifies parameters to be passed in the URL query string.
Syntax
WSQuery
This attribute supports a query in the URL. Zero, one, or several parameters can be specified.
WSQuery
is an optional attribute.
Usage
You set the WSQuery
attribute in an ATTRIBUTE()
clause of an
input parameter (only) of the function. Its use is suited to filtering on resource collections, such
as /users?fname=john
. The client application needs to provide appropriate parameter
values when making a call to the function.
Example WSQuery
TYPE accountType RECORD
id VARCHAR(10),
fname VARCHAR(25),
lname VARCHAR(25)
# ...
END RECORD
PUBLIC FUNCTION getAccountRecords(
resourceId VARCHAR(10) ATTRIBUTES(WSQuery, WSOptional, WSName = "id"),
firstName VARCHAR(25) ATTRIBUTES(WSQuery, WSOptional, WSName = "fname"),
lastName VARCHAR(25) ATTRIBUTES(WSQuery, WSOptional, WSName = "lname"))
ATTRIBUTES (WSGet,
WSPath = "/accounts",
WSDescription = "Fetches the accounts resource with the optional filter value(s) applied.",
WSScope = "officestore.user",
WSThrows = "404:Not Found,500:Internal Server Error")
RETURNS (DYNAMIC ARRAY ATTRIBUTE(WSName = "accounts") OF
accountType ATTRIBUTES(XMLName = "account", WSMedia = "application/json, application/xml"))
DEFINE recList DYNAMIC ARRAY OF accountType
# ... function code ...
RETURN recList
END FUNCTION
This function has
WSQuery
parameters which are optional. This allows the
function to be used to query any of the parameter values if provided in the query string of the URL,
for
example:http://host:port/gas/ws/r/MyService/accounts?fname=value&lname=value
orhttp://host:port/gas/ws/r/MyService/accounts?lname=value