@@ -572,6 +572,35 @@ public OpenApiCustomizer customerGlobalHeaderOpenApiCustomizer() {
572572
573573=== Is file upload supported ?
574574* The library supports the main file types: `MultipartFile`, `@RequestPart`, `FilePart`
575+ * You can upload a file as follows:
576+
577+ [source,java]
578+ ----
579+ import io.swagger.v3.oas.annotations.Parameter;
580+ import io.swagger.v3.oas.annotations.media.Content;
581+ import io.swagger.v3.oas.annotations.media.Encoding;
582+ import io.swagger.v3.oas.annotations.parameters.RequestBody;
583+
584+ @PostMapping(value = "/upload", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
585+ public ResponseEntity<?> upload(@Parameter(description = "file") final MultipartFile file) {
586+ return null;
587+ }
588+
589+ @PostMapping(value = "/uploadFileWithQuery", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
590+ public ResponseEntity<?> uploadFileWithQuery(@Parameter(description = "file") @RequestPart("file") final MultipartFile file,
591+ @Parameter(description = "An extra query parameter") @RequestParam String name) {
592+ return null;
593+ }
594+
595+ @PostMapping(value = "/uploadFileWithJson", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}, produces = {
596+ MediaType.APPLICATION_JSON_VALUE})
597+ public ResponseEntity<?> uploadFileWithJson(
598+ @RequestBody(content = @Content(encoding = @Encoding(name = "jsonRequest", contentType = MediaType.APPLICATION_JSON_VALUE)))
599+ @Parameter(description = "An extra JSON payload sent with file") @RequestPart("jsonRequest") final JsonRequest jsonRequest,
600+ @RequestPart("file") final MultipartFile file) {
601+ return null;
602+ }
603+ ----
575604
576605=== Can I use `@Parameter` inside `@Operation` annotation?
577606* Yes, it's supported
0 commit comments