определить альтернативные схемы для запроса или ответа.

я есть модель, определенная как:

Event:
  type: object
  properties:
    id:
      type: string
    timestamp:
      type: string
      format: date-time
    type:
      type: string
      enum:
        - click
        - open
        - sent
    click:
      type: object
      properties:
        url:
          type: string
        title:
          type: string
    open:
      type: object
      properties:
        subject:
          type: string
    sent:
      type: object
      properties:
        subject:
          type: string
        from:
          type: string
        to:
          type: string

Тем не менее, форма на самом деле отличается в зависимости от значенияtype поле enum. Это может быть один из трех, я попытался определить различия вexamples (см. ниже), но это не сработало.

Как видите, ниже показаны три примера, каждый из которых отличается в зависимости отtype, Так ведет себя API, но документировать это ожидаемое поведение непросто.

  examples:
    application/json:
      - id: >
          ad1b12f0-63a8-47b5-9820-3e447143ce7e
        timestamp: >
          2017-09-29T16:45:20.000+00:00
        type: click
        click:
          url: >
            www.some-website-somewhere.org/12345
          title: >
            Click here!
      - id: >
          d9e787fa-db49-4bd8-97c3-df45f159295c
        timestamp: >
          2017-09-29T16:45:20.000+00:00
        type: open
        open:
          subject: >
            Have you seen this?
      - id: >
          30adc194-0f5f-4889-abd4-4fa964d0bb42
        timestamp: >
          2017-09-29T16:45:20.000+00:00
        type: sent
        sent:
          subject: >
            Have you seen this?
          from: >
            [email protected]
          to: >
            [email protected]

Я прочитал несколько мест, в которых упоминается, что это невозможно, но я надеюсь, что некоторые «нестандартные» мыслители помогут мне найти решение.

Ответы на вопрос(1)

Ваш ответ на вопрос