path和formData参数同时出现

时间:2017-08-06 16:35:19

标签: swagger

我想将图片上传到我的API端点。 端点应为/test/{id}/relationships/image。 我想同时用swagger path和formData参数进行描述。

我的swagger yaml文件如下所示:

swagger: '2.0'
info:
  title: API
  version: 1.0.0
host: api.server.de
schemes:
  - https
produces:
  - application/json
paths:
  '/test/{id}/relationships/image':
    post:
      operationId: addImage
      consumes:
        - multipart/form-data
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: integer
            format: int32
        - in: formData
          name: file
          type: file
          required: true
          description: The file to upload.
        - in: formData
          name: metadata
          type: string
          required: false
          description: Description of file contents.
      responses:
        '202':
          description: Uploaded

但是我收到了一个错误:

  

架构错误   路径[' / test / {id} / relationships / image'] .post.parameters [0] .in should   等于允许值之一allowedValues:body,header,   formData,query跳转到第17行

     

架构错误   路径[' / test / {id} / relationships / image'] .post.parameters [0]不应该   有额外的属性additionalProperty:schema,in,name,   必需跳转到第17行

我错了什么?

1 个答案:

答案 0 :(得分:16)

在路径参数中,更改

          schema:
            type: integer
            format: int32

          type: integer
          format: int32

在OpenAPI / Swagger 2.0中,path,header,query和formData参数直接使用type,而不使用schemaschema关键字仅用于身体参数。