Определение массива объектов в документации Swagger - PullRequest
0 голосов
/ 12 декабря 2018

Я использую swagger уже довольно давно, мы начали документировать наш код, используя его, в одном месте есть ответ API, который возвращает несколько объектов во включенном блоке.

Пример:

{
    "data": {
        "id": "1",
        "type": "schoolPositions",
        "attributes": {
            "description": "teases the students",
            "mustHaves": "principle"
        },
        "relationships": {
            "schoolLocation": {
                "data": {
                    "id": "72",
                    "type": "schoolLocations"
                }
            },
            "schoolCompensation": {
                "data": {
                    "id": "75",
                    "type": "schoolCompensations"
                }
            },
            "jobSpecs": {
                "data": [
                    {
                        "id": "82",
                        "type": "schoolAttachments"
                    }
                ]
            }
        }
    },
    "included": [
        {
            "id": "72",
            "type": "schoolLocations",
            "attributes": {
                "city": "Berhampore",
                "state": "West Bengal",
                "postalCode": "742101",
                "country": "India",
                "globalRegionId": 30,
                "regionId": 683
            }
        },
        {
            "id": "75",
            "type": "schoolCompensations",
            "attributes": {
                "salary": "",
                "bonus": "",
                "equity": "",
                "currencyId": null,
                "equityType": "percent",
                "salaryDescription": null
            }
        },
        {
            "id": "82",
            "type": "schoolAttachments",
            "attributes": {
                "attachmentType": "JobSpecificationAttachmentType",
                "fileFileName": "vs.jpg",
                "fileContentType": "image/jpeg",
                "fileFileSize": 2410039,
                "fileUpdatedAt": "2018-12-12T07:06:38Z",
                "downloadUrl": "001-vs.jpg?1544598398",
                "klass": "SchoolAttachments"
            }
        }
    ]

Я потратил впустую целый день в Интернете и документации, пытаясь документировать включенную часть, но я где-то ошибаюсь

response 200 do
    key :description, 'School Data'
    schema do
      property :data do
        key :type, :array
        items do
          key :'$ref', :School
        end
      end

      property :included do
        key :type, :array
        items do
          key :'$ref', :SchoolLocations
          key :'$ref', :SchoolCompensations
          key :'$ref', :SchoolAttachments
        end
      end
    end
  end

Это показывает только SchoolAttachments во включеннойчасть.

Я пытался использовать allOff, но это не работает.

...