определить альтернативные схемы для запроса или ответа.
я есть модель, определенная как:
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]
Я прочитал несколько мест, в которых упоминается, что это невозможно, но я надеюсь, что некоторые «нестандартные» мыслители помогут мне найти решение.