Swagger ui - 从组件调用参数
Swagger ui - call parameters from components
我使用 swagger ui 和 swaggerapi/swagger-ui docker 图片。我尝试在其中一个路径中使用组件中定义的参数,但这不起作用。问题出在哪里?
在我的 index.yaml 文件中
components:
...
parameters:
Pagination:
- in: query
name: page
schema:
type: integer
required: false
description: The page to go to
- in: query
name: per_page
schema:
type: integer
required: false
description: The number of items per page
...
在我的路径文件中
parameters:
$ref: '../index.yaml#/components/parameters/Pagination'
感谢您的帮助
OpenAPI 允许您 $ref
单独的参数,而不是一组参数。因此,如果您有多个通用参数,则需要在 components/parameters
部分中为它们创建单独的定义。此外,required
是参数属性而不是架构属性:
components:
parameters:
pageParam: # <-----
in: query
name: page
schema:
type: integer
required: false # <-----
description: The page to go to
perPageParam: # <-----
in: query
name: per_page
schema:
type: integer
required: false # <-----
description: The number of items per page
然后,在您的路径文件中,使用:
parameters:
- $ref: '../index.yaml#/components/parameters/pageParam'
- $ref: '../index.yaml#/components/parameters/perPageParam'
我使用 swagger ui 和 swaggerapi/swagger-ui docker 图片。我尝试在其中一个路径中使用组件中定义的参数,但这不起作用。问题出在哪里?
在我的 index.yaml 文件中
components:
...
parameters:
Pagination:
- in: query
name: page
schema:
type: integer
required: false
description: The page to go to
- in: query
name: per_page
schema:
type: integer
required: false
description: The number of items per page
...
在我的路径文件中
parameters:
$ref: '../index.yaml#/components/parameters/Pagination'
感谢您的帮助
OpenAPI 允许您 $ref
单独的参数,而不是一组参数。因此,如果您有多个通用参数,则需要在 components/parameters
部分中为它们创建单独的定义。此外,required
是参数属性而不是架构属性:
components:
parameters:
pageParam: # <-----
in: query
name: page
schema:
type: integer
required: false # <-----
description: The page to go to
perPageParam: # <-----
in: query
name: per_page
schema:
type: integer
required: false # <-----
description: The number of items per page
然后,在您的路径文件中,使用:
parameters:
- $ref: '../index.yaml#/components/parameters/pageParam'
- $ref: '../index.yaml#/components/parameters/perPageParam'