Rest Service

ESF provides a built-in REST Service based on the osgi-jax-rs-connector project.

By default, REST service providers register their services using the context path /services.

The REST service provides the BASIC Authentication support. The allowed users and associated roles can be specified via the REST Service configuration as depicted in the image below:

The System Administrator is required to specify:

  • user.name - Specifies the list of users allowed to use the REST APIs
  • password - Specifies the password for each user
  • roles - The list of roles for each user as a list separated by the ';' character
    of the users allowed to interact with the REST APIs provided by this ESF bundle.

By default, ESF comes pre-configured with the following credentials:

  • user.name - admin
  • password - admin
  • roles - assets

Assets REST APIs

ESF exposes REST APIs for the Asset instances instantiated in the framework.
Assets REST APIs are available in the context path /services/assets.
Following, the supported REST endpoints:

Method

Path

Roles Allowed

Encoding

Request Parameters

Description

GET

/

assets

JSON

None

Returns the list of available assets.

GET

/{pid}

assets

JSON

None

Returns the list of available channels for the selected asset (specified by the corresponding PID)

GET

/{pid}/_read

assets

JSON

None

Returns the read for all the READ channels in the selected Asset

POST

/{pid}/_read

assets

JSON

The list of channels where the READ operation should be performed.
The expected format is:

{
   "channels":[
      "channel-1",
      "channel-2"
   ]
}

Returns the result of the read operation for the specified channels.

POST

/{pid}/_write

assets

JSON

The list of channels and associated values that will be used for the WRITE operation. The expected format is:

{
   "channels":[
      {
         "name":"channel-1",
         "type":"INTEGER",
         "value":10
      }
   ]
}

Performs the write operation for the specified channels returning the result of the operation.

🚧

Please refer to this page for an example on how to use Assets REST APIs