我正在尝试使用开放式api 3创建庞大的文档,但是在参数定义中使用allOf
关键字时遇到错误
components:
parameters:
idParam:
name: id
in: path
description: ID of the boxx
required: true
schema:
type: string
format: int65
dataSourceID:
allOf:
- $ref: '#/components/parameters/idParam'
- name: dataSourceID
description: ID of the data source
components.parameters ['dataSourceID']上的架构错误
不应具有其他属性
additionalProperty:allOf
是否可以重用另一个参数的值?也许以其他方式?
答案 0 :(得分:2)
allOf
仅在Schema Objects中受支持,用于实现model composition and inheritance。 allOf
,parameters
和其他地方不支持paths
。
在您的示例中,您所能做的就是为int65
定义一个可重用的架构,并从两个参数中引用它:
openapi: 3.0.0
...
components:
schemas:
int65:
type: string
format: int65
parameters:
idParam:
name: id
in: path
description: ID of the boxx
required: true
schema:
$ref: '#/components/schemas/int65' # <-----
dataSourceID:
name: dataSourceID
in: path
description: ID of the data source
required: true
schema:
$ref: '#/components/schemas/int65' # <-----
答案 1 :(得分:0)
我猜 allOf
可以在参数架构中使用,如下所示。
allOf
只能在架构对象中使用。
由于参数,路径可能包含schema
个对象,allOf
可以在参数中使用,如下所示。
components:
parameters:
idParam:
name: id
in: path
description: ID of the boxx
required: true
schema:
type: string
format: int65
dataSourceID:
name: dataSourceID
in: path
description: dataSourceID of the boxx
schema:
allOf:
- $ref: '#/components/parameters/idParam'
- type: object
properties:
name:
type: string
description:
type: string