В чем разница между глобальным разделом definitions
и разделом components
в Swagger 2.0?
Я наткнулся на файл YAML определения Swagger, который помечен как swagger: '2.0'
. В нем есть один раздел под названием definitions
чуть ниже parameters
. Это похоже на то, что описано в
https://swagger.io/docs/specification/2-0/basic-structure/
в разделе «Модели ввода и вывода».
Также ниже по файлу есть раздел components
с разделом schemas
под ним. Это похоже на то, что описано в
https://swagger.io/docs/specification/components/
Это похоже на OAS3.
Однако этот конкретный файл YAML имеет оба раздела. Я не совсем уверен, соответствует ли definitions
Swagger 2.0, а components
и schemas
- OAS 3.0. Это так?
Можно ли использовать и definitions
, и components
в одном файле YAML типа swagger: '2.0'
, или мы должны придерживаться либо definitions
, либо components
?
# definitions section looks like this
definitions:
User:
properties:
id:
type: integer
name:
type: string
# Both properties are required
required:
- id
- name
# components section looks like this
components:
schemas:
Address:
type: object
properties:
line1:
type: string
city:
type: string