массив схем в чванстве - PullRequest
       7

массив схем в чванстве

0 голосов
/ 03 ноября 2018

У меня проблемы с чванством. Когда я думаю, что понимаю, как это работает, всегда есть что-то, что не работает

Что не так в этой строке

responses:
  '200':
    allOf:
    - $ref: '../index.yaml#/components/responses/200Ok'
    content:
      application/json:
        schema:
          allOf:
          - $ref: '../index.yaml#/components/schemas/Pagination'
          properties:
            data:
              type: array
              items:
                schema:
                  $ref: '../index.yaml#/components/schemas/Client'

Свойство data должно быть массивом типа схемы, указанного в $ ref, но это результат

"data": [
  null
]

EDIT

Хорошо, похоже, что правильно поставить $ ref непосредственно под ключом элементов, моя проблема заключалась в использовании зарезервированного ключа «статус» Итак, как я могу использовать зарезервированный ключ в схеме объекта?

EDIT

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

1 Ответ

0 голосов
/ 03 ноября 2018

Вы почти у цели. Есть две проблемы:

1) Вы не можете иметь allOf непосредственно под кодом ответа. Вы можете $ref полное определение ответа, хотя.

2) Вам не нужно schema под items.

Кроме того, хотя поставить allOf вместе с другими ключевыми словами вполне нормально, некоторым инструментам может понравиться больше, если все объединяемые схемы перечислены внутри allOf.

Попробуйте эту версию:

responses:
  '200':
    description: OK
    content:
      application/json:
        schema:
          allOf:
          - $ref: '../index.yaml#/components/schemas/Pagination'
          - properties:
              data:
                type: array
                items:
                  $ref: '../index.yaml#/components/schemas/Client'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...