Как с помощью drf-yasg показать несколько схем openapi?

Используется: Django 2.2, drf-yasg 1.17.1, python 3.9

Как я могу показать с помощью drf-yasg несколько openapi схем?

API, возвращающий различные ответы в зависимости от запроса.

Пример:

Базовый ответ

Возможно ли в drf-yasg показывать ответы подобным образом?

Ожидаемый результат

В yaml-файле это реализовано с помощью oneOf.

Пример кода:

responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    type: string
                  previous:
                    type: string
                  results:
                      oneOf:
                        - $ref: '#/components/schemas/BaseStocks'
                        - $ref: '#/components/schemas/Apteka36.6Stocks'
                        - $ref: '#/components/schemas/FarmiyaStocks'
                        - $ref: '#/components/schemas/MailruStocks'
                        - $ref: '#/components/schemas/NeofarmStocks'
                        - $ref: '#/components/schemas/YandexStock'
                        - $ref: '#/components/schemas/UtekaStocks'

Можно ли повторить такую конструкцию с помощью drf-yasg?

К сожалению, это невозможно.

oneOf - был добавлен в OpenAPI 3.0, drf-yasg поддерживает только OpenAPI 2.0

Вернуться на верх