Updated on 2023-06-09 GMT+08:00

Creating a Data Backend

Overview

Define data sources as backend services so that external systems using APIs can read or write the source data

Constraints

  • Each line of record stored in a data source should not exceed 2 KB, or custom backend exceptions will occur.
  • If a numeric value returned by the data source is zero with more than six decimal places, the data backend displays the value in scientific notation. Do not set the precision of numeric data to more than six decimal places.

Prerequisites

Procedure

  1. Log in to the ROMA Connect console. On the Instances page, click View Console of an instance.
  2. In the navigation pane on the left, choose API Connect > Custom Backends. On the Backends tab, click Create Backend.
  3. On the Create Backend page, set backend parameters and click Create.
    After the backend is created, the online IDE of the backend is automatically displayed. The backend type defaults to data backend.
    Table 1 Backend configuration

    Parameter

    Description

    Name

    Enter a backend name. Using naming rules facilitates future search.

    Integration Application

    Select an integration application for the backend. If none is available, click Create Integration Application on the right to create one.

    Backend Request Method

    Options: GET, POST, PUT, DELETE

    Backend Request Path

    The path is case sensitive.

    Example: /getUserInfo/userId

    Backend Security Authentication

    Select the security authentication mode of the backend.

    • Signature Key: Authenticate backend requests using a signature key. The frontend API must be bound to the same signature key.
    • None: No authentication is required for backend requests.

    Description

    Enter a description of the backend.

    Advanced Settings

    Version

    Enter the backend version to differentiate backend services.

    Example: V1.0

    Input Parameters

    Define request parameters of the backend service in the Input Parameters area. Click Add Input Parameter and add:

    • Name: request parameter name
    • Parameter Location: location of the request parameter in the backend request.

      Options: Headers or Parameters

    • Default Value: used only in the subsequent custom backend test procedure. This parameter does not take effect during custom backend deployment.
    • Mandatory: whether a request parameter is mandatory in a backend request.
    • Description: description of the request parameter

    Returned Type

    Select the response data format of the backend.

    Options: JSON, XML, STREAM

  4. Configure the data backend.
    1. In the upper left corner, choose New Data Backend > Add Data Source.
    2. On the Add Data Source page displayed, configure data source information and click Add.
      Table 2 Data source configuration

      Parameter

      Description

      Select Data Source

      Select a data source that you have created in Connecting to a Data Source.

      Select Statement Type

      Select the type of a statement to be executed.

      Options: SQL or SP (stored procedure)

      If a Redis or MongoDB data source is used, select SQL. (NoSQL statements are actually used for these data sources).

      Advanced Settings

      Returned Object

      Enter the name of the object to be returned. The statement execution result is encapsulated in the object.

      Paging

      Specify whether to return the statement execution result by page. This parameter is not available if multiple data sources have been selected for the data backend.

      Enabled: query parameters pageNum and pageSize can be added to the backend request to paginate the query results and specify the page number of the data records to be returned.

      • pageNum: page number of the data records to be returned, starting from 1
      • pageSize: number of data records on each page

      The response structure varies depending on whether paging is enabled or disabled. For details, see Examples of paging results.

      NOTE:
      If there are more than 2000 records, try using the offset and limit parameters in the execution statement. If Precompiling is disabled, the following is an example:
      select * from table01 limit ${limit} offset ${offset}

      Keys of the offset and limit parameters can be transferred in the headers, parameters, or body of backend requests.

      Data sources with precompiling enabled need to convert offset and limit values by calling functions. For details, see Developing Custom Data Backends.

      Precompiling

      Specify whether to precompile execution statements to prevent SQL injection attacks.

      Examples of paging results

      Returned Object is set to mydata. After a statement is executed to query data from a data source, a total of five data records are returned.

      • If Paging is not enabled, all five data records are returned as the response result to the user. The following is an example of the response result.
        {
          "mydata": [
            {
              "id": 1,
              "name": "aaa"
            },
            {
              "id": 2,
              "name": "bbb"
            },
            {
              "id": 3,
              "name": "ccc"
            },
            {
              "id": 4,
              "name": "ddd"
            },
            {
              "id": 5,
              "name": "eee"
            }
          ]
        }
      • When Paging is enabled, if pageNum is set to 1 and pageSize is set to 2, the five data records will be displayed on different pages based on pageSize, with two data records displayed on each page. Only the two data records on the first page will be returned to the user as the response result based on pageNum. In the response result, total indicates the total number of data records queried, that is, 5. Response example:
        {
          "mydata": {
            "total": 5,
            "data": [
              {
                "id": 1,
                "name": "aaa"
              },
              {
                "id": 2,
                "name": "bbb"
              }
            ],
            "pageSize": 2,
            "pageNum": 1
          }
        }
    3. After adding the data source, select the data source in the left pane of the online IDE, and then compile execution statements for the data source in the right pane.

      For details, see Developing Custom Data Backends.

      For the Redis or MongoDB data source, data processing commands of Redis or MongoDB are used.

    4. Click Save in the upper right corner of the page.
  5. Test the backend functions.
    In the upper right corner of the page, click Test. In the Test Parameters area, add request parameters based on the backend definition and click Test to send the request.
    • In the Execution Result area, view the backend response.
    • In the Execution History area, view the historical test records of the backend. Click a test record to import historical test parameters to the test parameter list on the left and perform the test again.
  6. Deploy the backend.

    After the backend is tested, click Deploy in the upper right corner. In the dialog box displayed, click Yes to deploy the backend.