HTTP header fields and URI parameters
URIs for Rule Execution Server REST resources support some HTTP header fields and generic URI parameters. Collections of resources support the count parameter, filters, and paging services.
All REST resources support the following HTTP header fields and URI parameters. You can combine any of the generic or collection-type URI parameters together on a resource. For example, you can combine the date parameter with paging services to display the resulting rulesets by pages and with the date in iso8601 format.
HTTP header fields
- Accept
- Specifies the content types that are valid in the response message. If the server cannot respond with the requested content type, the 406 Not Acceptable HTTP status code is returned. You can use the equivalent URI parameter instead of the HTTP header field.
- Accept-Language
- Sends the list of languages that are valid for the response message. For example, Accept-Language: fr, pt-BR means that the preferred language is French but Brazilian Portuguese is also accepted. You can use the equivalent URI parameter instead of the HTTP header field.
- Content-Type
- Indicates which content type of the entity body is sent to the recipient.
- X-Method-Override
- X-HTTP-Method-Override
- Indicates the HTTP operation that is passed through the current request. You can use the equivalent URI parameters instead of the HTTP header fields.
Generic URI parameters
In the Rule Execution Server REST API, the following parameters are generic.
- accept
- Use this parameter in the request message to specify the content types that are valid in the response message. This parameter is equivalent to the Accept HTTP header field.
- accept-language
- Use this parameter in the request message to send the list of languages that are valid for the response message. This parameter is equivalent to the Accept-Language HTTP header field.
- parts
- Use this parameter in the request message to specify a list of
one or more parts to be returned in the response message. Use a vertical
line |(%7C in URL encoding) to separate
the items in the list. You can also specify all or none as
the value of the parts parameter. The default
value is all. For example, the response to the following
request contains the name, version number, and properties of the rulesets
that belong to the specified RuleApp.
http://localhost:9080/res/apiauth/v1/ruleapps/myRuleApp/1.0?parts=name|version|properties
- date
- Used in the request message to specify the date format that is
expected in the response message: iso8601 for the
ISO-8601 or long for the Linux style. The default value is iso8601.
Use the following syntax:
date=iso8601 date=long
Parameters for collection types
All Rule Execution Server REST results that are collections of resources support the count parameter, filters, and paging services. You can use the DOJO API to define paging services.
These parameters apply only to the GET method, which returns collections. Use the following syntax elements to build the request and response:
- Request
- URL: /collection
- Method: GET
- Header: "Range: items=start-stop"
- Response
- Header: "Content-Range: items start-stop/count"
- Body: the content of the collection between the start-stop index.
- count
- If the value of this parameter is true or is not specified, the response returns plain text that contains the number of elements in the resulting collection of the query URI path.
- fieldName
- To provide filtering services, you can add key/value pairs as
query parameters that apply to the collection members. The value can
be a static name or a regular expression. To use a regular expression,
start the value with exp( and end with a closing
parenthesis ).Note: The regular expression might not be valid. For example, a character is not escaped properly. In this case, the system raises an HTTP 412 error.In the following example, the request retrieves the RuleApps the name of which starts with Hello.:
http://localhost:9080/res/apiauth/ruleapps?name=exp(Hello.*)
In the following example, the request is incorrect and returns an HTTP 412 error because the regular expression misses one closing parenthesis.http://localhost:9080/res/apiauth/ruleapps?name=exp(Hello(.*)
- orderby
- This parameter orders the resulting list according to the specified
field name. You can add more than one orderby parameter.
The following example orders the RuleApps by name and version number.
http://localhost:9080/res/apiauth/ruleapps?orderby=name&orderby=version