Skip to content

Commit b478904

Browse files
committed
use optional only in not required params
1 parent 692389f commit b478904

5 files changed

Lines changed: 21 additions & 19 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{#isFormParam}}{{^isFile}}{{>paramDoc}}{{#useBeanValidation}} @Valid{{/useBeanValidation}} {{#isModel}}@RequestPart{{/isModel}}{{^isModel}}{{#isArray}}@RequestPart{{/isArray}}{{^isArray}}{{#reactive}}@RequestPart{{/reactive}}{{^reactive}}@RequestParam{{/reactive}}{{/isArray}}{{/isModel}}(value = "{{baseName}}"{{#required}}, required = true{{/required}}{{^required}}, required = false{{/required}}){{>dateTimeParam}} {{>optionalDataType}} {{paramName}}{{/isFile}}{{#isFile}}{{>paramDoc}} @RequestPart(value = "{{baseName}}"{{#required}}, required = true{{/required}}{{^required}}, required = false{{/required}}) {{#isArray}}List<{{/isArray}}{{#reactive}}Flux<Part>{{/reactive}}{{^reactive}}MultipartFile{{/reactive}}{{#isArray}}>{{/isArray}} {{paramName}}{{/isFile}}{{/isFormParam}}
1+
{{#isFormParam}}{{^isFile}}{{>paramDoc}}{{#useBeanValidation}} @Valid{{/useBeanValidation}} {{#isModel}}@RequestPart{{/isModel}}{{^isModel}}{{#isArray}}@RequestPart{{/isArray}}{{^isArray}}{{#reactive}}@RequestPart{{/reactive}}{{^reactive}}@RequestParam{{/reactive}}{{/isArray}}{{/isModel}}(value = "{{baseName}}"{{#required}}, required = true{{/required}}{{^required}}, required = false{{/required}}){{>dateTimeParam}} {{^required}}{{#useOptional}}Optional<{{/useOptional}}{{/required}}{{{dataType}}}{{^required}}{{#useOptional}}>{{/useOptional}}{{/required}} {{paramName}}{{/isFile}}{{#isFile}}{{>paramDoc}} @RequestPart(value = "{{baseName}}"{{#required}}, required = true{{/required}}{{^required}}, required = false{{/required}}) {{#isArray}}List<{{/isArray}}{{#reactive}}Flux<Part>{{/reactive}}{{^reactive}}MultipartFile{{/reactive}}{{#isArray}}>{{/isArray}} {{paramName}}{{/isFile}}{{/isFormParam}}

modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import io.swagger.v3.oas.models.media.Schema;
2626
import io.swagger.v3.oas.models.servers.Server;
2727
import io.swagger.v3.parser.core.models.ParseOptions;
28+
import org.apache.commons.io.FileUtils;
2829
import org.apache.commons.lang3.StringUtils;
2930
import org.assertj.core.api.MapAssert;
3031
import org.openapitools.codegen.*;
@@ -5396,6 +5397,7 @@ public void givenMultipartForm_whenGenerateUsingOptional_thenParameterAreCreated
53965397
generator.setGeneratorPropertyDefault(CodegenConstants.APIS, "true");
53975398

53985399
generator.opts(input).generate();
5400+
System.out.println(FileUtils.readFileToString(new File(outputPath + "/src/main/java/org/openapitools/api/PetApi.java"), "UTF-8"));
53995401

54005402
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/api/PetApi.java"),
54015403
"@Valid @RequestParam(value = \"additionalMetadata\", required = false) Optional<String> additionalMetadata",

samples/openapi3/client/petstore/spring-cloud-3-with-optional/src/main/java/org/openapitools/api/PetApi.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,8 @@ ResponseEntity<Pet> updatePet(
166166

167167
ResponseEntity<Void> updatePetWithForm(
168168
@PathVariable("petId") Long petId,
169-
@Valid @RequestParam(value = "name", required = false) String name,
170-
@Valid @RequestParam(value = "status", required = false) String status
169+
@Valid @RequestParam(value = "name", required = false) Optional<String> name,
170+
@Valid @RequestParam(value = "status", required = false) Optional<String> status
171171
);
172172

173173

@@ -189,7 +189,7 @@ ResponseEntity<Void> updatePetWithForm(
189189

190190
ResponseEntity<ModelApiResponse> uploadFile(
191191
@PathVariable("petId") Long petId,
192-
@Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata,
192+
@Valid @RequestParam(value = "additionalMetadata", required = false) Optional<String> additionalMetadata,
193193
@RequestPart(value = "file", required = false) MultipartFile file
194194
);
195195

samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -396,16 +396,16 @@ default ResponseEntity<Void> testEndpointParameters(
396396
@ApiParam(value = "None", required = true) @Valid @RequestParam(value = "double", required = true) Double _double,
397397
@ApiParam(value = "None", required = true) @Valid @RequestParam(value = "pattern_without_delimiter", required = true) String patternWithoutDelimiter,
398398
@ApiParam(value = "None", required = true) @Valid @RequestParam(value = "byte", required = true) byte[] _byte,
399-
@ApiParam(value = "None") @Valid @RequestParam(value = "integer", required = false) Integer integer,
400-
@ApiParam(value = "None") @Valid @RequestParam(value = "int32", required = false) Integer int32,
401-
@ApiParam(value = "None") @Valid @RequestParam(value = "int64", required = false) Long int64,
402-
@ApiParam(value = "None") @Valid @RequestParam(value = "float", required = false) Float _float,
403-
@ApiParam(value = "None") @Valid @RequestParam(value = "string", required = false) String string,
399+
@ApiParam(value = "None") @Valid @RequestParam(value = "integer", required = false) Optional<Integer> integer,
400+
@ApiParam(value = "None") @Valid @RequestParam(value = "int32", required = false) Optional<Integer> int32,
401+
@ApiParam(value = "None") @Valid @RequestParam(value = "int64", required = false) Optional<Long> int64,
402+
@ApiParam(value = "None") @Valid @RequestParam(value = "float", required = false) Optional<Float> _float,
403+
@ApiParam(value = "None") @Valid @RequestParam(value = "string", required = false) Optional<String> string,
404404
@ApiParam(value = "None") @RequestPart(value = "binary", required = false) MultipartFile binary,
405-
@ApiParam(value = "None") @Valid @RequestParam(value = "date", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date,
406-
@ApiParam(value = "None") @Valid @RequestParam(value = "dateTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) OffsetDateTime dateTime,
407-
@ApiParam(value = "None") @Valid @RequestParam(value = "password", required = false) String password,
408-
@ApiParam(value = "None") @Valid @RequestParam(value = "callback", required = false) String paramCallback
405+
@ApiParam(value = "None") @Valid @RequestParam(value = "date", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) Optional<LocalDate> date,
406+
@ApiParam(value = "None") @Valid @RequestParam(value = "dateTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Optional<OffsetDateTime> dateTime,
407+
@ApiParam(value = "None") @Valid @RequestParam(value = "password", required = false) Optional<String> password,
408+
@ApiParam(value = "None") @Valid @RequestParam(value = "callback", required = false) Optional<String> paramCallback
409409
) {
410410
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
411411

@@ -450,8 +450,8 @@ default ResponseEntity<Void> testEnumParameters(
450450
@ApiParam(value = "Query parameter enum test (string)", allowableValues = "_abc, -efg, (xyz)", defaultValue = "-efg") @Valid @RequestParam(value = "enum_query_string", required = false, defaultValue = "-efg") Optional<String> enumQueryString,
451451
@ApiParam(value = "Query parameter enum test (double)", allowableValues = "1, -2") @Valid @RequestParam(value = "enum_query_integer", required = false) Optional<Integer> enumQueryInteger,
452452
@ApiParam(value = "Query parameter enum test (double)", allowableValues = "1.1, -1.2") @Valid @RequestParam(value = "enum_query_double", required = false) Optional<Double> enumQueryDouble,
453-
@ApiParam(value = "Form parameter enum test (string array)", allowableValues = ">, $", defaultValue = "$") @Valid @RequestPart(value = "enum_form_string_array", required = false) List<String> enumFormStringArray,
454-
@ApiParam(value = "Form parameter enum test (string)", allowableValues = "_abc, -efg, (xyz)", defaultValue = "-efg") @Valid @RequestParam(value = "enum_form_string", required = false) String enumFormString
453+
@ApiParam(value = "Form parameter enum test (string array)", allowableValues = ">, $", defaultValue = "$") @Valid @RequestPart(value = "enum_form_string_array", required = false) Optional<List<String>> enumFormStringArray,
454+
@ApiParam(value = "Form parameter enum test (string)", allowableValues = "_abc, -efg, (xyz)", defaultValue = "-efg") @Valid @RequestParam(value = "enum_form_string", required = false) Optional<String> enumFormString
455455
) {
456456
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
457457

@@ -698,7 +698,7 @@ default ResponseEntity<Integer> testWithResultExample(
698698
default ResponseEntity<ModelApiResponse> uploadFileWithRequiredFile(
699699
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId,
700700
@ApiParam(value = "file to upload", required = true) @RequestPart(value = "requiredFile", required = true) MultipartFile requiredFile,
701-
@ApiParam(value = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata
701+
@ApiParam(value = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) Optional<String> additionalMetadata
702702
) {
703703
getRequest().ifPresent(request -> {
704704
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {

samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -346,8 +346,8 @@ default ResponseEntity<Void> updatePet(
346346

347347
default ResponseEntity<Void> updatePetWithForm(
348348
@ApiParam(value = "ID of pet that needs to be updated", required = true) @PathVariable("petId") Long petId,
349-
@ApiParam(value = "Updated name of the pet") @Valid @RequestParam(value = "name", required = false) String name,
350-
@ApiParam(value = "Updated status of the pet") @Valid @RequestParam(value = "status", required = false) String status
349+
@ApiParam(value = "Updated name of the pet") @Valid @RequestParam(value = "name", required = false) Optional<String> name,
350+
@ApiParam(value = "Updated status of the pet") @Valid @RequestParam(value = "status", required = false) Optional<String> status
351351
) {
352352
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
353353

@@ -388,7 +388,7 @@ default ResponseEntity<Void> updatePetWithForm(
388388

389389
default ResponseEntity<ModelApiResponse> uploadFile(
390390
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId,
391-
@ApiParam(value = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata,
391+
@ApiParam(value = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) Optional<String> additionalMetadata,
392392
@ApiParam(value = "file to upload") @RequestPart(value = "file", required = false) MultipartFile file
393393
) {
394394
getRequest().ifPresent(request -> {

0 commit comments

Comments
 (0)