From 0e71892693004916a3e3f803dcc221ba816a92bc Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 10 Aug 2026 18:36:42 +0800 Subject: [PATCH] fix multipart fields in vertx --- .../resources/JavaVertXWebServer/formParams.mustache | 9 +++++---- .../java/resttemplate-springBoot4-jackson3/pom.xml | 2 +- .../openapitools/vertxweb/server/api/PetApiHandler.java | 9 +++++---- .../openapitools/vertxweb/server/api/PetApiHandler.java | 9 +++++---- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/JavaVertXWebServer/formParams.mustache b/modules/openapi-generator/src/main/resources/JavaVertXWebServer/formParams.mustache index ec507a8704b7..f35db40fc35e 100644 --- a/modules/openapi-generator/src/main/resources/JavaVertXWebServer/formParams.mustache +++ b/modules/openapi-generator/src/main/resources/JavaVertXWebServer/formParams.mustache @@ -4,14 +4,15 @@ JsonObject {{paramName}} = body != null ? body.getJsonObject() : null; {{/isFile}} {{#isFile}} - {{{dataType}}} {{paramName}} = null; - if (routingContext.fileUploads().isEmpty()) { + {{{dataType}}} {{paramName}} = routingContext.fileUploads().stream() + .filter(upload -> "{{baseName}}".equals(upload.name())) + .findFirst() + .orElse(null); + if ({{paramName}} == null) { {{#required}} routingContext.fail(400); return; {{/required}} - } else { - {{paramName}} = routingContext.fileUploads().iterator().next(); } {{/isFile}} {{/isFormParam}} diff --git a/samples/client/petstore/java/resttemplate-springBoot4-jackson3/pom.xml b/samples/client/petstore/java/resttemplate-springBoot4-jackson3/pom.xml index 859141904ec9..b5c5141bdd3d 100644 --- a/samples/client/petstore/java/resttemplate-springBoot4-jackson3/pom.xml +++ b/samples/client/petstore/java/resttemplate-springBoot4-jackson3/pom.xml @@ -269,7 +269,7 @@ UTF-8 - 7.0.5 + 7.0.8 3.1.5 3.0.0 diff --git a/samples/server/petstore/java-vertx-web-interface-only/src/main/java/org/openapitools/vertxweb/server/api/PetApiHandler.java b/samples/server/petstore/java-vertx-web-interface-only/src/main/java/org/openapitools/vertxweb/server/api/PetApiHandler.java index f8d7fa69c76d..3635cbcb2491 100644 --- a/samples/server/petstore/java-vertx-web-interface-only/src/main/java/org/openapitools/vertxweb/server/api/PetApiHandler.java +++ b/samples/server/petstore/java-vertx-web-interface-only/src/main/java/org/openapitools/vertxweb/server/api/PetApiHandler.java @@ -208,10 +208,11 @@ private void uploadFile(RoutingContext routingContext) { RequestParameters requestParameters = routingContext.get(ValidationHandler.REQUEST_CONTEXT_KEY); Long petId = requestParameters.pathParameter("petId") != null ? requestParameters.pathParameter("petId").getLong() : null; - FileUpload _file = null; - if (routingContext.fileUploads().isEmpty()) { - } else { - _file = routingContext.fileUploads().iterator().next(); + FileUpload _file = routingContext.fileUploads().stream() + .filter(upload -> "file".equals(upload.name())) + .findFirst() + .orElse(null); + if (_file == null) { } logger.debug("Parameter petId is {}", petId); diff --git a/samples/server/petstore/java-vertx-web/src/main/java/org/openapitools/vertxweb/server/api/PetApiHandler.java b/samples/server/petstore/java-vertx-web/src/main/java/org/openapitools/vertxweb/server/api/PetApiHandler.java index 42f28449c0d5..e94c5d4de7f1 100644 --- a/samples/server/petstore/java-vertx-web/src/main/java/org/openapitools/vertxweb/server/api/PetApiHandler.java +++ b/samples/server/petstore/java-vertx-web/src/main/java/org/openapitools/vertxweb/server/api/PetApiHandler.java @@ -212,10 +212,11 @@ private void uploadFile(RoutingContext routingContext) { RequestParameters requestParameters = routingContext.get(ValidationHandler.REQUEST_CONTEXT_KEY); Long petId = requestParameters.pathParameter("petId") != null ? requestParameters.pathParameter("petId").getLong() : null; - FileUpload _file = null; - if (routingContext.fileUploads().isEmpty()) { - } else { - _file = routingContext.fileUploads().iterator().next(); + FileUpload _file = routingContext.fileUploads().stream() + .filter(upload -> "file".equals(upload.name())) + .findFirst() + .orElse(null); + if (_file == null) { } logger.debug("Parameter petId is {}", petId);