diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/beanValidationBodyParams.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/beanValidationBodyParams.mustache index 71bc546835e..6f4e70f06a7 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/beanValidationBodyParams.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/beanValidationBodyParams.mustache @@ -1 +1 @@ -{{! RequestBody required param is responsible for optional and nullability }}{{>beanValidationCore}} \ No newline at end of file +{{^useOptional}}{{>beanValidationCore}}{{/useOptional}}{{#useOptional}}{{#required}}{{>beanValidationCore}}{{/required}}{{/useOptional}} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/bodyParams.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/bodyParams.mustache index 9e683484efd..69d36f1c3b0 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/bodyParams.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/bodyParams.mustache @@ -1 +1 @@ -{{#isBodyParam}}{{>paramDoc}}{{#useBeanValidation}} @Valid{{>beanValidationBodyParams}}{{/useBeanValidation}} @RequestBody{{^required}}(required = false){{/required}} {{^reactive}}{{{dataType}}}{{/reactive}}{{#reactive}}{{^isArray}}Mono<{{{dataType}}}>{{/isArray}}{{#isArray}}Flux<{{{baseType}}}>{{/isArray}}{{/reactive}} {{paramName}}{{/isBodyParam}} \ No newline at end of file +{{#isBodyParam}}{{>paramDoc}}{{#useBeanValidation}} @Valid{{>beanValidationBodyParams}}{{/useBeanValidation}} @RequestBody{{^required}}(required = false){{/required}} {{^reactive}}{{>optionalDataType}}{{/reactive}}{{#reactive}}{{^isArray}}Mono<{{{dataType}}}>{{/isArray}}{{#isArray}}Flux<{{{baseType}}}>{{/isArray}}{{/reactive}} {{paramName}}{{/isBodyParam}} \ No newline at end of file diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java index b7765e99b8f..0b9fe97779e 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java @@ -98,7 +98,7 @@ public interface FakeApi { ) default ResponseEntity fakeOuterBooleanSerialize( - @ApiParam(value = "Input boolean as post body") @Valid @RequestBody(required = false) Boolean body + @ApiParam(value = "Input boolean as post body") @Valid @RequestBody(required = false) Optional body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -130,7 +130,7 @@ public interface FakeApi { ) default ResponseEntity fakeOuterCompositeSerialize( - @ApiParam(value = "Input composite as post body") @Valid @RequestBody(required = false) OuterComposite outerComposite + @ApiParam(value = "Input composite as post body") @Valid @RequestBody(required = false) Optional outerComposite ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { @@ -171,7 +171,7 @@ public interface FakeApi { ) default ResponseEntity fakeOuterNumberSerialize( - @ApiParam(value = "Input number as post body") @Valid @RequestBody(required = false) BigDecimal body + @ApiParam(value = "Input number as post body") @Valid @RequestBody(required = false) Optional body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -203,7 +203,7 @@ public interface FakeApi { ) default ResponseEntity fakeOuterStringSerialize( - @ApiParam(value = "Input string as post body") @Valid @RequestBody(required = false) String body + @ApiParam(value = "Input string as post body") @Valid @RequestBody(required = false) Optional body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);