редактор swagger: не могу добавить локальную ссылку с $ ref - PullRequest
0 голосов
/ 04 июня 2018

Я создаю некоторый API через swagger .

Я не могу понять, как я могу использовать $ref со ссылкой на тот же файл ... Вот мой текущий чванствоfile:

openapi: 3.0.0
info:
  title: test API
  version: "1.0.0"
  description: This is a sample API.

servers:
  - url: http://api.internal.com/api
paths:
  /sources/:
    get:
      summary: returns all sources given a page and a size
      parameters:
        - name: page
          required: true
          in: query
          description: Limits the number of items on a page
          schema:
            type: integer
        - name: size
          required: true
          in: query
          description: Specifies a page size
          schema:
            type: integer
      responses:
        '200':
          $ref: '#/definitions/myElement'


definitions:
  myElement:
    "data": {
        "sources": [
          {
            "id": "fw5pQ08wMnFfbEE",
            "fileName": "test.csv",
            "size": 1000000,
            "annotatedDate": "2018-10-01 12:00:00",
            "metadataContact": "test@test.com",
            "canBeIngested": true 
          }
        ],
        "stats": {
            "total": 4000,
            "page": 1,
            "size": 20
        }
    }

Теперь проблема в том, что редактор выдает мне эту ошибку:

Errors
Schema error should NOT have additional properties
additionalProperty: definitions
Jump to line 0

в документации $ ref Я не могудействительно найти что-нибудь полезное ...

Как я могу это исправить?

1 Ответ

0 голосов
/ 04 июня 2018

В OpenAPI 3.0 definitions были заменены на components/schemas.Это означает, что вам нужно использовать:

      responses:
        '200':
          $ref: '#/components/schemas/myElement'

и

components:
  schemas:
    myElement:
      ...

Кроме того, определение вашей модели для myElement недопустимо.См. это руководство , чтобы узнать, как описывать объекты, свойства и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...