Swagger 参数和复杂类型
Swagger Parameters and Complex Types
在下面的 Swagger 定义中,我需要参数 labelValue
的类型为 LabelValueObject
,以便对其进行验证和正确反序列化。但是,我无法弄清楚语法!怎么做到的?
swagger: "2.0"
paths:
/competition:
post:
parameters:
- name: labelValue
in: formData
type: array
items:
type: string ### this has to be a LabelValueObject ###
responses:
default:
description: Error
schema:
$ref: "#/definitions/AnyResponse"
definitions:
AnyResponse:
properties:
any:
type: string
LabelValueObject:
properties:
label:
type: string
value:
type: string
required:
- label
- value
将对象作为参数传递的唯一方法是将其放在正文 (in: body
) 中,然后在 schema
中定义此对象(内联定义或对预定义对象的引用$ref
)。这是一个完整的例子:
swagger: "2.0"
info:
title: A dummy title
version: 1.0.0
paths:
/competition:
post:
parameters:
- name: labelValue
in: body
schema:
$ref: '#/definitions/LabelValueObject'
responses:
default:
description: Error
schema:
$ref: "#/definitions/AnyResponse"
definitions:
AnyResponse:
properties:
any:
type: string
LabelValueObject:
properties:
label:
type: string
value:
type: string
required:
- label
- value
在下面的 Swagger 定义中,我需要参数 labelValue
的类型为 LabelValueObject
,以便对其进行验证和正确反序列化。但是,我无法弄清楚语法!怎么做到的?
swagger: "2.0"
paths:
/competition:
post:
parameters:
- name: labelValue
in: formData
type: array
items:
type: string ### this has to be a LabelValueObject ###
responses:
default:
description: Error
schema:
$ref: "#/definitions/AnyResponse"
definitions:
AnyResponse:
properties:
any:
type: string
LabelValueObject:
properties:
label:
type: string
value:
type: string
required:
- label
- value
将对象作为参数传递的唯一方法是将其放在正文 (in: body
) 中,然后在 schema
中定义此对象(内联定义或对预定义对象的引用$ref
)。这是一个完整的例子:
swagger: "2.0"
info:
title: A dummy title
version: 1.0.0
paths:
/competition:
post:
parameters:
- name: labelValue
in: body
schema:
$ref: '#/definitions/LabelValueObject'
responses:
default:
description: Error
schema:
$ref: "#/definitions/AnyResponse"
definitions:
AnyResponse:
properties:
any:
type: string
LabelValueObject:
properties:
label:
type: string
value:
type: string
required:
- label
- value