如何在 Swagger 2.0 中对多个参数进行分组?
How to group multiple parameters in Swagger 2.0?
是否可以将多个参数分组以在多个路由中引用它们?
例如,我有一个在每条路线中都需要的参数组合。它们被定义为全局参数。如何对它们进行分组?
我想到了这样的定义:
parameters:
MetaDataParameters:
# Meta Data Properties
- name: id
in: query
description: Entry identification number
required: false
type: integer
- name: time_start
in: query
description: Start time of flare
required: false
type: string
- name: nar
in: query
description: Active region number
required: false
type: string
然后在我的路线中引用整个组:
/test/:
get:
tags:
- TEST
operationId: routes.test
parameters:
- $ref: "#/parameters/MetaDataParameters"
responses:
200:
description: OK
这在 Swagger 2.0 中可行吗?
这对于 Swagger 2.0 或 OpenAPI 3.0 是不可能的。我已经为此打开了一个功能请求,并建议在未来的版本中使用它:
您可以将 $ref
指向中间 .yaml
文件,如下所示:
//middle.yaml <-----
- $ref: 'Defaul.yaml#/components/parameters/meta_id'
- $ref: 'Defaul.yaml#/components/parameters/meta_time_start'
- $ref: 'Default.yaml#/components/parameters/meta_nar'
您的 Default.yaml
文件应该是这样的:
//Default.yaml <-----
components:
parameters:
meta_id:
name: id
in: query
description: Entry identification number
schema:
type: integer
example: 1
meta_time_start:
name: time_start
in: query
schema:
type: string
最后,您的主文件应该如下所示:
/test/:
get:
tags:
- TEST
operationId: routes.test
parameters:
$ref: "../parameters/middle.yaml" <---- external yaml file
responses:
200:
description: OK
注意:您的 $ref
应该没有 -
。就像我的例子
是否可以将多个参数分组以在多个路由中引用它们?
例如,我有一个在每条路线中都需要的参数组合。它们被定义为全局参数。如何对它们进行分组?
我想到了这样的定义:
parameters:
MetaDataParameters:
# Meta Data Properties
- name: id
in: query
description: Entry identification number
required: false
type: integer
- name: time_start
in: query
description: Start time of flare
required: false
type: string
- name: nar
in: query
description: Active region number
required: false
type: string
然后在我的路线中引用整个组:
/test/:
get:
tags:
- TEST
operationId: routes.test
parameters:
- $ref: "#/parameters/MetaDataParameters"
responses:
200:
description: OK
这在 Swagger 2.0 中可行吗?
这对于 Swagger 2.0 或 OpenAPI 3.0 是不可能的。我已经为此打开了一个功能请求,并建议在未来的版本中使用它:
您可以将 $ref
指向中间 .yaml
文件,如下所示:
//middle.yaml <-----
- $ref: 'Defaul.yaml#/components/parameters/meta_id'
- $ref: 'Defaul.yaml#/components/parameters/meta_time_start'
- $ref: 'Default.yaml#/components/parameters/meta_nar'
您的 Default.yaml
文件应该是这样的:
//Default.yaml <-----
components:
parameters:
meta_id:
name: id
in: query
description: Entry identification number
schema:
type: integer
example: 1
meta_time_start:
name: time_start
in: query
schema:
type: string
最后,您的主文件应该如下所示:
/test/:
get:
tags:
- TEST
operationId: routes.test
parameters:
$ref: "../parameters/middle.yaml" <---- external yaml file
responses:
200:
description: OK
注意:您的 $ref
应该没有 -
。就像我的例子