Swagger 招摇过市参数和复杂类型

Swagger 招摇过市参数和复杂类型,swagger,Swagger,在下面的Swagger定义中,我需要参数labelValue的类型为LabelValueObject,以便对其进行验证和正确的反序列化。但是,我搞不懂语法!如何做到这一点 swagger: "2.0" paths: /competition: post: parameters: - name: labelValue in: formData type: array items:

在下面的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

此参数是否需要位于formData中?您是对的。我可以将它设置为body并使用模式$ref,我猜。。。我不太会招摇过市,所以我错过了。如果这就是你的问题所在,请发布答案。