Forum Discussion

gossip_boi's avatar
gossip_boi
New Contributor
4 years ago

Using objects from components in arrays of other object

Hello everyone. I can't find any solution, unfortunately. So, I have the object 'address' in my schemas of components, and I want to use it in the array 'addresses', which is a part of the request body. How can I do that? If I do:

 

addresses:
type: array
items:
$ref: '#/components/schemas/addresses'

 

then I get:

 

"addresses": [

{

"address": [

{

 

but I need just properties of 'address' in 'addresses' like:

"addresses":[{properties_of_address},{properties_of_address}]

3 Replies

  • HKosova's avatar
    HKosova
    SmartBear Alumni (Retired)
    Can you also post the "address" schema?
    • gossip_boi's avatar
      gossip_boi
      New Contributor

      attached

      • HKosova's avatar
        HKosova
        SmartBear Alumni (Retired)

        Your schemas look correct. Make sure there are no extra nesting levels in the schemas. Check this example for the reference:

         

        openapi: 3.0.0
        info:
          title: Array of objects
          version: 1.0.0
        paths:
          /something:
            post:
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/addresses'
              responses:
                200:
                  description: OK
        
        components:
          schemas:
        
            addresses:
              type: object
              properties:
                addresses:
                  type: array
                  items:
                    $ref: '#/components/schemas/address'
        
            address:
              type: object
              description: A user's address
              properties:
                country:
                  type: string
                country_subject:
                  type: string