From a671dc9fe73c183eedee95b1f8b05cfcc29e0cbf Mon Sep 17 00:00:00 2001 From: Tao Sun Date: Wed, 24 Jul 2024 10:03:04 +0800 Subject: [PATCH] Add documentation about file upload for springdoc 2 --- src/docs/asciidoc/faq.adoc | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/docs/asciidoc/faq.adoc b/src/docs/asciidoc/faq.adoc index d967882..e63fbb3 100644 --- a/src/docs/asciidoc/faq.adoc +++ b/src/docs/asciidoc/faq.adoc @@ -572,6 +572,35 @@ public OpenApiCustomizer customerGlobalHeaderOpenApiCustomizer() { === Is file upload supported ? * The library supports the main file types: `MultipartFile`, `@RequestPart`, `FilePart` +* You can upload a file as follows: + +[source,java] +---- +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Encoding; +import io.swagger.v3.oas.annotations.parameters.RequestBody; + +@PostMapping(value = "/upload", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}) +public ResponseEntity upload(@Parameter(description = "file") final MultipartFile file) { + return null; +} + +@PostMapping(value = "/uploadFileWithQuery", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}) +public ResponseEntity uploadFileWithQuery(@Parameter(description = "file") @RequestPart("file") final MultipartFile file, + @Parameter(description = "An extra query parameter") @RequestParam String name) { + return null; +} + +@PostMapping(value = "/uploadFileWithJson", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}, produces = { + MediaType.APPLICATION_JSON_VALUE}) +public ResponseEntity uploadFileWithJson( + @RequestBody(content = @Content(encoding = @Encoding(name = "jsonRequest", contentType = MediaType.APPLICATION_JSON_VALUE))) + @Parameter(description = "An extra JSON payload sent with file") @RequestPart("jsonRequest") final JsonRequest jsonRequest, + @RequestPart("file") final MultipartFile file) { + return null; +} +---- === Can I use `@Parameter` inside `@Operation` annotation? * Yes, it's supported