B Framework Versions

The Oracle Business Object REST API is an Oracle framework that supports accessing business objects. The REST API framework supports the exchange of information between the web application and server at runtime.

The Oracle Business Object REST API runtime supports specifying a framework version that affects the processing of the payload or indicate the default framework version (as configured by the server) to be used. When you specify a framework version to process requests, it allows the API to opt into those features when they are ready.

Note:

Each Oracle Business Object REST API framework version introduces functionality that the previous framework versions do not support. Thus, when you choose to opt into a later framework version, the REST API of your application may introduce backward incompatible changes on the service client consuming the REST API. In the table below, see the Does Not Support column for backward compatibility issues. See also Understanding REST API Framework Version Support.

The following table explains the changes for each framework version.

Table B-1 Oracle Business Object REST API Framework Versions

REST API Framework Version Supports Does Not Support

1 - Use to process requests for web applications when no other version is specified.

Supports query-by-example resource query syntax

Filtering resource collections using the q query parameter is limited to a query-by-example.

n/a

2 - You must specify the version for the request. Only then the REST API support the use of expanded expression syntax to process the request.

Supports more advanced query syntax for making REST API calls.

Interprets q query parameter value differently than Framework version 1.

Supports filtering resource collections using rowmatch query expressions.

Query-by-example resource query syntax is not compatible.

Introduces a backward incompatible change to web application that rely on Framework version 1.

3 - The payload structure represents nested child resource as a resource collection, instead of an array of items as in version 1 and 2.

Supports retrieving nested child resources with payload attributes that may be used by the web application to determine whether more resource items would be returned in a subsequent REST API request.

Supports pagination of nested child resource that would otherwise require more than one request to fetch.

Exposes functionality that allows GET operations to use the ?expand and ?fields query parameter to return a nested child resource as a resource collection with the hasMore attribute

Introduces a backward incompatible change to web application that rely on Framework version 1 or 2.

4 – Default Version. Possible to obtain exception details in the response when your request is enabled to use REST API framework version 4 and the request is made for either application/vnd.oracle.adf.error+json or application/json media types.

Supports the response in the form an exception detail payload that provides the following benefits to the web application:

  • Presents the details of each error in a hierarchical structure if multiple errors occur in a single request.

  • Identifies the exception corresponding to each error by including an application specific error code.

  • Presents an error path that identifies the location of each error in the request payload structure.

The exception detail may or may not present certain details, such as the application-specific error code and the request payload’s error path.

5 - Note: Framework version 5 is not supported for users of visual development tools provided by Oracle Cloud services.

n/a

n/a

6 - Supports differentiation between the resource fields and item information like links and headers.

Non-attribute fields like links and headers appear within @context field in the resource item response object.

links field in @context will no longer have the properties field.

headers -> ETag has the changeIndicator value.

New field key under @context contains the unique identifier of the specific resource item as a string.

n/a

7 - Note: The enhancements provided by framework version 7 are not supported for users of visual development tools provided by Oracle Cloud services.

n/a

n/a

8 - Supports miscellaneous enhancements:

  • URL paths composed of a primary key or composite primary key value may contain special characters.
  • ClobDomain fields may use string values without base64 encoding/decoding.
  • Multi-select LOVs use array values instead of comma-separated values.

Use encoded values in the URL path to specify a key attribute that contains special characters or to specify a key attribute that is a composite value.

ClobDomain fields may reference an enclosure URL (a string) for updates.

The payload to update or create a multi-select LOV field expects an array of values.

n/a

9 - Supports miscellaneous enhancements:

  • Permits ?q queries involving the LIKE operator to contain special characters by treating \ (backslash) as an escape character.
  • Returns 400 Bad Request when an accessor is referenced in the URL that has not been previously exposed on the REST resource.
  • Permits the use of high-precision numeric types (integer values greater than 15 digits) without the loss of precision by converting such numeric values to string type in the describe and payload.

May use a \ (backslash) character to escape wildcard characters % (percent), * (asterisk), _ (underscore), and ? (question mark) and also for the \ (backslash) character when the query contains one of these characters.

n/a