OpenAPI 3: почему не работает композиция
От: RonWilson Россия  
Дата: 20.07.20 10:47
Оценка:
Привет,
пытаюсь пощупать OpenAPI и никак не пойму почему у меня не срабатывает композиция для такого элементарного примера:

Файл main.yml
openapi: 3.0.0
info:
  version: "1.0-oas3"
  title: "Web"
  description: "Web"
servers:
  - url: "https://test.ru/v1"
components:
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
  schemas:
    applicationNonAppearance: 
      $ref: "applications/applicationNonAppearance.yml"
paths:
  /kp/application/non-appearance:
    post:
      description:
        Оформление неявки сотрудника
      security:
        - BasicAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicationNonAppearance'
      responses:
        "200":
          description: "All OK"


файл applicationNonAppearance.yml:
allOf:
  - $ref: baseApplication.yml
    properties:
      documents:
        type: array
        description: "Документы по неявке"
        items:
          type: object
          properties:
            id:
              type: integer
              description: "Идентификатор прекрепленного документа по неявке"
              example: 35


файл baseApplication.yml:
baseApplication:
  type: object
  properties:
    employee:
      type: integer
      description: "Ключ работника"
      example: 88


в модели ожидаю, что будет employee и массив documents, но почему-то создается только document. Главное что и ошибок никаких не выдает — пробую в Visual Studio Code с плагином openapi-designer, показывающий справа превьюшку как и swagger editor, а может и его самого.

Чего не так-то?
Отредактировано 20.07.2020 11:06 RonWilson . Предыдущая версия .
openapi swagger composition
Re: OpenAPI 3: почему не работает композиция
От: v_su Мухосранск  
Дата: 06.08.20 06:41
Оценка: +1
Здравствуйте, RonWilson, Вы писали:

RW>файл applicationNonAppearance.yml:

RW>
RW>allOf:
RW>  - $ref: baseApplication.yml
     - type: object
RW>    properties:
RW>      documents:
RW>        type: array
RW>        description: "Документы по неявке"
RW>        items:
RW>          type: object
RW>          properties:
RW>            id:
RW>              type: integer
RW>              description: "Идентификатор прекрепленного документа по неявке"
RW>              example: 35
RW>


fixed
Re[2]: OpenAPI 3: почему не работает композиция
От: RonWilson Россия  
Дата: 21.08.20 10:03
Оценка:
Здравствуйте, v_su, Вы писали:

не, не помогло. помогло так:

allOf:
— $ref: baseApplication.yml #/baseApplication
— type: object

вдруг кому пригодится
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.