OpenAPI 3 - как описать массив с разрешенными атрибутами ключ-значение в схеме? - PullRequest
2 голосов
/ 09 июля 2020

Я пытаюсь создать схему, которая включает массивы значений ключей, но сами свойства определены отдельно. Например, допустим, я хотел бы описать файл со следующими свойствами:

  • id
  • fileName
  • fileType

где fileType - это объект с идентификатором и определенным набором c допустимых комбинаций ключей и значений, например

  • 0, Word
  • 1, Excel
  • 2 , PDF
  • ... et c

Я немного запутался в том, как описать это с помощью OpenApi 3, поскольку из документации я не могу найти способ для описания массивов с определенными комбинациями c ключ - значение.

Прямо сейчас я использую перечисление, подобное приведенному ниже

components:
  schemas:
   fileType:
     type: string
     description: file type
     enum:
      - Word
      - Excel
      - PDF

, но этого недостаточно. Спасибо

1 Ответ

2 голосов
/ 10 июля 2020

Вы можете использовать что-то вроде этого:

Ваша fileType Схема

components:
  schemas:
    fileType:
      type: object
      description: file type
      properties:
        1:
          type: string
          example: "Word"
        2:
          type: string
          example: "Excel"
        3:
          type: string
          example: "PDF"

Вот ваш requestBudy

requestBody:
  description: File
  content:
    '*/*':
      schema:
        properties:
          id:
            type: string
          fileName:
            type: string
          fileType:
            $ref: '#/components/schemas/fileType'

Похоже,

введите описание изображения здесь

Надеюсь на эту помощь.

...