Yaml format to represent two different objects in an array

Originally posted by Prasad_Bali on October 29, 2020

Hi All,

I am trying to prepare a Swagger file in YAML format for a request JSON for our API. In our JSON there is an array in below format,

“RawParams”: [
{
“Key”: “CSClientLastName”,
“Value”: “Stanford”
},
{
“ElementType”: “OFIAccountName”,
“ElementList”: [
{
“Key”: “ClientFullName”,
“Value”: “Smith D Rogers”
},
]
}
],

RawParams is an array with Key/Value object and ElementType/ElementList objects separately embedded. So, how to represent this in YAML format? I tried to define as below but Swagger UI throwing error when I defined items twice with “duplicate error”.

RawParams:
type: array
items:
type: object
properties:
Key:
type: string
Value:
type: string

items:

 type: object

 properties:

    ElementType:  
        type: string  
    ElementList:  
        type: array  
        items:  
          type: object  
          properties:  
              Key:  
                   type: string  
              Value:  
                   type: string

Could some one please help me?

Thanks,

Durga Prasad

Originally posted by RonRatovsky on November 10, 2020

Currently, OpenAPI does not support such a construct.

The upcoming release of OpenAPI 3.10 will enable that functionality, but it may take some time for tools to catch up.

Originally posted by Prasad_Bali on November 19, 2020

Hi Ron,

Thank you very much for your prompt response.

Durga Prasad