コンテンツにスキップ

ファイルアップロード

OpenAPI 3.0 では、リクエストコンテンツで直接アップロードされたファイルと、multipartリクエストでアップロードされたファイルを記述できます。ファイルを含むリクエストペイロードを記述するには、requestBodyキーワードを使用します。contentの下で、リクエストメディアタイプ (例: image/pngまたはapplication/octet-stream) を指定します。ファイルは、ファイルコンテンツのエンコード方法に応じて、type: stringスキーマとformat: binaryまたはformat: base64を使用します。例えば

1
requestBody:
2
content:
3
image/png:
4
schema:
5
type: string
6
format: binary

この定義は、次のような HTTP リクエストに対応します。

1
POST /upload
2
Host: example.com
3
Content-Length: 808
4
Content-Type: image/png
5
6
[file content goes there]

マルチパートリクエストによるアップロード

他のデータとともに送信されるファイルを記述するには、multipartメディアタイプを使用します。例えば

1
requestBody:
2
content:
3
multipart/form-data:
4
schema:
5
type: object
6
properties:
7
orderId:
8
type: integer
9
userId:
10
type: integer
11
fileName:
12
type: string
13
format: binary

対応する HTTP リクエストペイロードには複数のパーツが含まれます。

1
POST /upload
2
Host: example.com
3
Content-Length: 2740
4
Content-Type: multipart/form-data; boundary=abcde12345
5
6
--abcde12345
7
Content-Disposition: form-data; name="orderId"
8
9
1195
10
--abcde12345
11
Content-Disposition: form-data; name="userId"
12
13
545
14
--abcde12345
15
Content-Disposition: form-data; name="fileName"; filename="attachment.txt"
16
Content-Type: text/plain
17
18
[file content goes there]
19
--abcde12345--

複数ファイルのアップロード

任意の数のファイル(ファイルの配列)をアップロードする定義には、multipartメディアタイプを使用します。

1
requestBody:
2
content:
3
multipart/form-data:
4
schema:
5
type: object
6
properties:
7
filename:
8
type: array
9
items:
10
type: string
11
format: binary

対応するHTTPリクエストは次のようになります。

1
POST /upload
2
Host: example.com
3
Content-Length: 2740
4
Content-Type: multipart/form-data; boundary=abcde12345
5
6
--abcde12345
7
Content-Disposition: form-data; name="fileName"; filename="file1.txt"
8
Content-Type: text/plain
9
10
[file content goes there]
11
--abcde12345
12
Content-Disposition: form-data; name="fileName"; filename="file2.png"
13
Content-Type: image/png
14
15
[file content goes there]
16
--abcde12345
17
Content-Disposition: form-data; name="fileName"; filename="file3.jpg"
18
Content-Type: image/jpeg
19
20
[file content goes there]
21
--abcde12345--

参照

OpenAPI でのファイルアップロードの詳細については、OpenAPI 3.0 仕様の以下のセクションを参照してください。

ファイルアップロードに関する考慮事項

マルチパートコンテンツに関する特別な考慮事項

お探しのものが見つかりませんでしたか? コミュニティに質問する
間違いを見つけましたか? お知らせください