To execute a query, the {host:port}/app-portal/api/query.<format>?e=<entity>&s=<sessionId>&q=<encoded query string>¶m1=<value 1>$param1_type=<type
1>¶mN=<value N>¶mN_type=<type N>&view=<viewName>&firstResult=<firstResult>&maxResults=<maxResults>
GET request should be performed with the following parameters:
-
e − the name of the entity.
-
q − a JPQL data query. The request may contain parameters. Their values are provided as values of same-named parameters of HTTP query.
-
s − the identifier of the current session.
-
view (optional) − the view, which should be used to load data.
-
max (optional) − maximum number of rows in resulting dataset (similar to JPA
setMaxResults
). -
first (optional) − number of the first row of resulting dataset (similar to JPA
setFirstResult
).
format specifies the format of obtaining the result. It takes two values: xml
or json
.
Examples:
http://localhost:8080/app-portal/api/query.json?e=sales$Customer&q=select+c+from+sales$Customer+c&s=748e5d3f-1eaf-4b38-bf9d-8d838587367d&view=_local
http://localhost:8080/app-portal/api/query.json?e=sales$Customer&q=select+c+from+sales$Customer+c+where+c.name=:name&s=748e5d3f-1eaf-4b38-bf9d-8d838587367d&name=Smith
For each of the passed parameters, the type can be explicitly specified by adding the parameter of the same name and the
_type
suffix to the request. For example:
http://localhost:8080/app-portal/api/query.json?e=sales$Customer&q=select+c+from+sales$Customer+c+where+c.name=:name&s=748e5d3f-1eaf-4b38-bf9d-8d838587367d&name=Smith&name_type=string
Specifying parameter type is optional, however it allows to avoid parsing errors if the system cannot determine the type automatically.
Normally, the type should be specified only for string parameters, which for some reason have a more specific format types (dates, numbers, UUID), but must be interpreted as strings.
The list of available types can be found in meta-model description (HTML-description of the model.
-> ) or by obtaining the