/test/{id}/relationships/image
のような画像アップロードエンドポイントがあります。このエンドポイントをOpenAPI 2.0(Swagger 2.0)を使用して説明したいと思います。
エンドポイントには、pathとformDataの両方のパラメーターがあります。私は以下を試しました:
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
しかし、Swagger Editorはエラーを表示します。
パス['/test/{id}/relationships/image'].post.parameters[0].inでのスキーマエラーは、許可された値のいずれかに等しい必要がありますallowedValues:body、header、formData、query 17行目にジャンプ
パス['/test/{id}/relationships/image'].post.parameters[0]でのスキーマエラーには、追加のプロパティがありません。additionalProperty:スキーマ、入力、名前、必須行17にジャンプ
何が悪いのですか?
パスパラメータで、
schema:
type: integer
format: int32
に
type: integer
format: int32
OpenAPI/Swagger 2.0では、path、header、query、およびformDataパラメーターは、type
なしでschema
を直接使用します。 schema
キーワードは、本体パラメーターにのみ使用されます。