Updated on 2022-12-05 GMT+08:00

Testing a Backend API

Function

This API is used to test whether a backend API is available.

URI

POST /v2/{project_id}/apic/instances/{instance_id}/livedata-apis/{ld_api_id}/test

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Appendix > Obtaining a Project ID in the ROMA Connect API Reference.

instance_id

Yes

String

Instance ID.

ld_api_id

Yes

String

Backend API ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token, which can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

parameters

No

Array of LdApiParameter objects

Backend API request parameters.

Table 4 LdApiParameter

Parameter

Mandatory

Type

Description

name

Yes

String

Parameter name.

  • If the parameter is located in Headers or Parameters, the value can contain letters, digits, periods (.), hyphens (-), and underscores (_), and must start with a letter. The value is case-insensitive.

  • If the parameter is located in Body, it is named application/json, application/xml, or application/text. However, the key-value pair in Body is used as the parameter name and parameter value. For example, if the parameter name is application/json and the parameter value is {"table":"apic01","id":"1"}, the backend uses table:apic01 and id:1 as input parameters.

  • Note: The parameter name must be unique. Otherwise, the parameters will be overwritten. When the parameters in Headers and Parameters are duplicate, the parameters will be overwritten. When the key-value pairs in Parameters and Body are duplicate, the parameters will be overwritten.

Minimum: 1

Maximum: 32

in

Yes

String

Parameter location.

default

No

String

Default value.

Maximum: 4000

description

No

String

Parameter description, which cannot contain < and >.

Minimum: 0

Maximum: 255

required

No

Boolean

Whether the parameter is mandatory. true: The parameter is mandatory. false: The parameter is optional.

Default: false

Response Parameters

Status code: 200

Table 5 Response body parameters

Parameter

Type

Description

test_status_code

String

Returned status code.

test_request

String

Request method.

test_used_time

Integer

Test duration.

test_operator

String

Project ID of the tester.

test_response

String

Test response content.

test_method

String

Request method.

test_id

Integer

Test ID.

test_date

String

Test time.

ld_api_id

String

Backend API ID.

debug_log

Array of strings

Test log list.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 401

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 403

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 404

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 500

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Example Requests

{
  "parameter" : [ {
    "name" : "header",
    "in" : "Headers",
    "required" : false,
    "default" : "test"
  } ]
}

Example Responses

Status code: 200

OK

{
  "ld_api_id" : "bd42841c20184da6bbf457c6d8a06e37",
  "test_date" : "2020-09-19T06:40:52Z",
  "test_id" : 2524356,
  "test_method" : "GET",
  "test_operator" : "73d69ae0cfcf460190522d06b60f05ad",
  "test_request" : "{\"apiUUID\":\"bd42841c20184da6bbf457c6d8a06e37\",\"method\":\"GET\",\"params\":[{\"paramDesc\":\"\",\"paramName\":\"header\",\"paramRequired\":\"0\",\"paramType\":\"Headers\",\"paramValue\":\"test\"}],\"testUrl\":\"/test/function\"}",
  "test_response" : "Hello world!",
  "test_status_code" : "200",
  "test_used_time" : 29,
  "debug_log" : [ "2021-04-20 16:52:47 | 226e613ca72f4997b87def5445dac75c | 111", "2021-04-20 16:52:47 | 226e613ca72f4997b87def5445dac75c | message:bbb" ]
}

Status code: 400

Bad Request

{
  "error_code" : "APIG.2011",
  "error_msg" : "Invalid parameter value,parameterName:instance_id. Please refer to the support documentation"
}

Status code: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

Status code: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

Status code: 404

Not Found

{
  "error_code" : "APIG.3084",
  "error_msg" : "The livedata API does not exist, id: bd42841c20184da6bbf457c6d8a06e37"
}

Status code: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

Status Codes

Status Code

Description

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.