Open API Profile (3.0)
If you want to use Open API 3.0 with HTTP/2 agents, you require an Open API profile configuration. You select the profile that you configure in the HTTP/2 Server agent configuration. In the Open API profile configuration, you import your OpenAPI specification file and view any other included files defined by the specification. All schemas that require a UDR must be named. Due to a limitation in the third party parsing library used by OpenAPI, unnamed schemas cannot be detected and will not generate a corresponding UDR. Therefore, you must name all schemas that require a UDR. Field names in the yaml specification file containing the following symbols will be replaced with unique string of characters during the UDR generation process as shown below: For example, the field "test-name" will be converted into "test_2D_name" as a UDR. The OpenAPI profile consists of two tabs: Configuration and View Included Files. Setting Description Open API file Import the OpenAPI specification file from where the desktop client is running. Upon successful import, the contents of the file will be displayed in the box below. If using the Web Desktop it is not possible to upload YAML files linked to other YAML files. To refresh the content of the imported API file or the contents of other included files, the imported file will have to be imported once again. Setting Description Included Files A list of files that are referenced in the imported OpenAPI specification file will be shown here. Selecting from this list will have its contents be displayed in the box below. This section lists the limitations that users may encounter when using the OpenAPI profile. In the following example, the Example: SubscriptionData schema contains the subscrCond with oneOf tag: The Example: SubscriptionData schema decoded in the APL: To retrieve the value of the map, enter the following code in APL: The debug output is as follows:@ -> _40_
. -> _2E_
- -> _2D_
Configuration Tab
The Web Desktop
Refreshing the content.
View Included Files Tab
Limitations
OpenAPI specification schema which contains
oneOf
tag will be decoded as a map instead of a UDRSubscriptionData
schema contains the subscrCond
property with oneOf
tag:SubscriptionData:
description: Information of a subscription to notifications to NRF events, included in subscription requests and responses
type: object
required:
- nfStatusNotificationUri
- subscriptionId
properties:
nfStatusNotificationUri:
type: string
reqNfInstanceId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
subscrCond:
oneOf:
- $ref: '#/components/schemas/NfInstanceIdCond'
- $ref: '#/components/schemas/NfInstanceIdListCond'
- $ref: '#/components/schemas/NfTypeCond'
- $ref: '#/components/schemas/ServiceNameCond'
- $ref: '#/components/schemas/AmfCond'
- $ref: '#/components/schemas/GuamiListCond'
- $ref: '#/components/schemas/NetworkSliceCond'
- $ref: '#/components/schemas/NfGroupCond'
- $ref: '#/components/schemas/NfSetCond'
- $ref: '#/components/schemas/NfServiceSetCond'
- $ref: '#/components/schemas/UpfCond'
- $ref: '#/components/schemas/ScpDomainCond'
- $ref: '#/components/schemas/NwdafCond'
- $ref: '#/components/schemas/NefCond'
subscrCond
is a schema of NfSetCond
but it is decoded as a map with key value pair as shown below:[openapi.issue_http.OAPI_NrfMgt.udr.SubscriptionData]
nfStatusNotificationUri: http://localhost/dummy
subscriptionId: 123456
subscrCond: {nfSetId=MU01}
string ID = mapGet((map<string, any>)subscriptionData.subscrCond, "nfSetId");
debug(ID);
MU01