Skip to content

Commit 67839a2

Browse files
committed
generate sample files
1 parent a61b5d9 commit 67839a2

138 files changed

Lines changed: 615 additions & 462 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -385,13 +385,13 @@ public void processOpts() {
385385
annotationLibrary = AnnotationLibrary.NONE;
386386
useJakartaEe = true;
387387
if(additionalProperties.containsKey(USE_BEANVALIDATION)) {
388-
useBeanValidation = Boolean.parseBoolean(additionalProperties.get(USE_BEANVALIDATION).toString());
388+
useBeanValidation = convertPropertyToBoolean(USE_BEANVALIDATION);
389389
} else {
390390
//default to false if not specified
391391
useBeanValidation = false;
392392
}
393393
if(additionalProperties.containsKey(PERFORM_BEANVALIDATION)) {
394-
performBeanValidation = Boolean.parseBoolean(additionalProperties.get(PERFORM_BEANVALIDATION).toString());
394+
performBeanValidation = convertPropertyToBoolean(PERFORM_BEANVALIDATION);
395395
} else {
396396
//default to false if not specified
397397
performBeanValidation = false;
@@ -407,8 +407,7 @@ public void processOpts() {
407407

408408
applyJakartaPackage();
409409

410-
LOGGER.warn("For Spring HTTP Interface following options are disabled: documentProvider, annotationLibrary, useBeanValidation, performBeanValidation. "
411-
+ "useJakartaEe defaulted to 'true'");
410+
LOGGER.warn("For Spring HTTP Interface following options are disabled: documentProvider, annotationLibrary. useJakartaEe defaulted to 'true'");
412411
}
413412

414413
if (DocumentationProvider.SPRINGFOX.equals(getDocumentationProvider())) {
@@ -569,7 +568,6 @@ public void processOpts() {
569568
} else if (SPRING_HTTP_INTERFACE.equals(library)) {
570569
supportingFiles.add(new SupportingFile("httpInterfacesConfiguration.mustache",
571570
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator), "HttpInterfacesAbstractConfigurator.java"));
572-
writePropertyBack(USE_BEANVALIDATION, false);
573571
}
574572
}
575573

modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-http-interface/api.mustache

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,9 @@ import java.util.Optional;
3434
import {{javaxPackage}}.annotation.Generated;
3535

3636

37-
{{>generatedAnnotation}}
3837
{{#useBeanValidation}}{{^useSpringBuiltInValidation}}@Validated{{/useSpringBuiltInValidation}}{{/useBeanValidation}}
38+
{{>generatedAnnotation}}
39+
3940
{{#operations}}
4041
public interface {{classname}} {
4142
{{#operation}}

samples/client/petstore/spring-http-interface-bean-validation/src/main/java/org/openapitools/api/AnotherFakeApi.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import jakarta.annotation.Generated;
1818

1919

20+
@Validated
2021
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.20.0-SNAPSHOT")
2122
public interface AnotherFakeApi {
2223

@@ -34,7 +35,7 @@ public interface AnotherFakeApi {
3435
contentType = "application/json"
3536
)
3637
ResponseEntity<ClientDto> call123testSpecialTags(
37-
@RequestBody ClientDto clientDto
38+
@Valid @RequestBody ClientDto clientDto
3839
);
3940

4041
}

samples/client/petstore/spring-http-interface-bean-validation/src/main/java/org/openapitools/api/FakeApi.java

Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import jakarta.annotation.Generated;
2929

3030

31+
@Validated
3132
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.20.0-SNAPSHOT")
3233
public interface FakeApi {
3334

@@ -45,7 +46,7 @@ public interface FakeApi {
4546
contentType = "application/xml"
4647
)
4748
ResponseEntity<Void> createXmlItem(
48-
@RequestBody XmlItemDto xmlItemDto
49+
@Valid @RequestBody XmlItemDto xmlItemDto
4950
);
5051

5152

@@ -63,7 +64,7 @@ ResponseEntity<Void> createXmlItem(
6364
contentType = "application/json"
6465
)
6566
ResponseEntity<Boolean> fakeOuterBooleanSerialize(
66-
@RequestBody(required = false) @Nullable Boolean body
67+
@Valid @RequestBody(required = false) @Nullable Boolean body
6768
);
6869

6970

@@ -81,7 +82,7 @@ ResponseEntity<Boolean> fakeOuterBooleanSerialize(
8182
contentType = "application/json"
8283
)
8384
ResponseEntity<OuterCompositeDto> fakeOuterCompositeSerialize(
84-
@RequestBody(required = false) @Nullable OuterCompositeDto outerCompositeDto
85+
@Valid @RequestBody(required = false) @Nullable OuterCompositeDto outerCompositeDto
8586
);
8687

8788

@@ -99,7 +100,7 @@ ResponseEntity<OuterCompositeDto> fakeOuterCompositeSerialize(
99100
contentType = "application/json"
100101
)
101102
ResponseEntity<BigDecimal> fakeOuterNumberSerialize(
102-
@RequestBody(required = false) @Nullable BigDecimal body
103+
@Valid @RequestBody(required = false) @Nullable BigDecimal body
103104
);
104105

105106

@@ -117,7 +118,7 @@ ResponseEntity<BigDecimal> fakeOuterNumberSerialize(
117118
contentType = "application/json"
118119
)
119120
ResponseEntity<String> fakeOuterStringSerialize(
120-
@RequestBody(required = false) @Nullable String body
121+
@Valid @RequestBody(required = false) @Nullable String body
121122
);
122123

123124

@@ -135,7 +136,7 @@ ResponseEntity<String> fakeOuterStringSerialize(
135136
contentType = "application/json"
136137
)
137138
ResponseEntity<Void> testBodyWithFileSchema(
138-
@RequestBody FileSchemaTestClassDto fileSchemaTestClassDto
139+
@Valid @RequestBody FileSchemaTestClassDto fileSchemaTestClassDto
139140
);
140141

141142

@@ -153,8 +154,8 @@ ResponseEntity<Void> testBodyWithFileSchema(
153154
contentType = "application/json"
154155
)
155156
ResponseEntity<Void> testBodyWithQueryParams(
156-
@RequestParam(value = "query", required = true) String query,
157-
@RequestBody UserDto userDto
157+
@NotNull @Valid @RequestParam(value = "query", required = true) String query,
158+
@Valid @RequestBody UserDto userDto
158159
);
159160

160161

@@ -172,7 +173,7 @@ ResponseEntity<Void> testBodyWithQueryParams(
172173
contentType = "application/json"
173174
)
174175
ResponseEntity<ClientDto> testClientModel(
175-
@RequestBody ClientDto clientDto
176+
@Valid @RequestBody ClientDto clientDto
176177
);
177178

178179

@@ -204,20 +205,20 @@ ResponseEntity<ClientDto> testClientModel(
204205
contentType = "application/x-www-form-urlencoded"
205206
)
206207
ResponseEntity<Void> testEndpointParameters(
207-
@RequestParam(value = "number", required = true) BigDecimal number,
208-
@RequestParam(value = "double", required = true) Double _double,
209-
@RequestParam(value = "pattern_without_delimiter", required = true) String patternWithoutDelimiter,
210-
@RequestParam(value = "byte", required = true) byte[] _byte,
211-
@RequestParam(value = "integer", required = false) Integer integer,
212-
@RequestParam(value = "int32", required = false) Integer int32,
213-
@RequestParam(value = "int64", required = false) Long int64,
214-
@RequestParam(value = "float", required = false) Float _float,
215-
@RequestParam(value = "string", required = false) String string,
208+
@DecimalMin(value = "32.1") @DecimalMax(value = "543.2") @Valid @RequestParam(value = "number", required = true) BigDecimal number,
209+
@DecimalMin(value = "67.8") @DecimalMax(value = "123.4") @Valid @RequestParam(value = "double", required = true) Double _double,
210+
@Pattern(regexp = "^[A-Z].*") @Valid @RequestParam(value = "pattern_without_delimiter", required = true) String patternWithoutDelimiter,
211+
@Valid @RequestParam(value = "byte", required = true) byte[] _byte,
212+
@Min(value = 10) @Max(value = 100) @Valid @RequestParam(value = "integer", required = false) Integer integer,
213+
@Min(value = 20) @Max(value = 200) @Valid @RequestParam(value = "int32", required = false) Integer int32,
214+
@Valid @RequestParam(value = "int64", required = false) Long int64,
215+
@DecimalMax(value = "987.6") @Valid @RequestParam(value = "float", required = false) Float _float,
216+
@Pattern(regexp = "/[a-z]/i") @Valid @RequestParam(value = "string", required = false) String string,
216217
@RequestPart(value = "binary", required = false) MultipartFile binary,
217-
@RequestParam(value = "date", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date,
218-
@RequestParam(value = "dateTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) OffsetDateTime dateTime,
219-
@RequestParam(value = "password", required = false) String password,
220-
@RequestParam(value = "callback", required = false) String paramCallback
218+
@Valid @RequestParam(value = "date", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date,
219+
@Valid @RequestParam(value = "dateTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) OffsetDateTime dateTime,
220+
@Size(min = 10, max = 64) @Valid @RequestParam(value = "password", required = false) String password,
221+
@Valid @RequestParam(value = "callback", required = false) String paramCallback
221222
);
222223

223224

@@ -245,12 +246,12 @@ ResponseEntity<Void> testEndpointParameters(
245246
ResponseEntity<Void> testEnumParameters(
246247
@RequestHeader(value = "enum_header_string_array", required = false) @Nullable List<String> enumHeaderStringArray,
247248
@RequestHeader(value = "enum_header_string", required = false, defaultValue = "-efg") String enumHeaderString,
248-
@RequestParam(value = "enum_query_string_array", required = false) @Nullable List<String> enumQueryStringArray,
249-
@RequestParam(value = "enum_query_string", required = false, defaultValue = "-efg") String enumQueryString,
250-
@RequestParam(value = "enum_query_integer", required = false) @Nullable Integer enumQueryInteger,
251-
@RequestParam(value = "enum_query_double", required = false) @Nullable Double enumQueryDouble,
252-
@RequestPart(value = "enum_form_string_array", required = false) List<String> enumFormStringArray,
253-
@RequestParam(value = "enum_form_string", required = false) String enumFormString
249+
@Valid @RequestParam(value = "enum_query_string_array", required = false) @Nullable List<String> enumQueryStringArray,
250+
@Valid @RequestParam(value = "enum_query_string", required = false, defaultValue = "-efg") String enumQueryString,
251+
@Valid @RequestParam(value = "enum_query_integer", required = false) @Nullable Integer enumQueryInteger,
252+
@Valid @RequestParam(value = "enum_query_double", required = false) @Nullable Double enumQueryDouble,
253+
@Valid @RequestPart(value = "enum_form_string_array", required = false) List<String> enumFormStringArray,
254+
@Valid @RequestParam(value = "enum_form_string", required = false) String enumFormString
254255
);
255256

256257

@@ -272,12 +273,12 @@ ResponseEntity<Void> testEnumParameters(
272273
accept = { "application/json" }
273274
)
274275
ResponseEntity<Void> testGroupParameters(
275-
@RequestParam(value = "required_string_group", required = true) Integer requiredStringGroup,
276-
@RequestHeader(value = "required_boolean_group", required = true) Boolean requiredBooleanGroup,
277-
@RequestParam(value = "required_int64_group", required = true) Long requiredInt64Group,
278-
@RequestParam(value = "string_group", required = false) @Nullable Integer stringGroup,
276+
@NotNull @Valid @RequestParam(value = "required_string_group", required = true) Integer requiredStringGroup,
277+
@NotNull @RequestHeader(value = "required_boolean_group", required = true) Boolean requiredBooleanGroup,
278+
@NotNull @Valid @RequestParam(value = "required_int64_group", required = true) Long requiredInt64Group,
279+
@Valid @RequestParam(value = "string_group", required = false) @Nullable Integer stringGroup,
279280
@RequestHeader(value = "boolean_group", required = false) @Nullable Boolean booleanGroup,
280-
@RequestParam(value = "int64_group", required = false) @Nullable Long int64Group
281+
@Valid @RequestParam(value = "int64_group", required = false) @Nullable Long int64Group
281282
);
282283

283284

@@ -295,7 +296,7 @@ ResponseEntity<Void> testGroupParameters(
295296
contentType = "application/json"
296297
)
297298
ResponseEntity<Void> testInlineAdditionalProperties(
298-
@RequestBody Map<String, String> requestBody
299+
@Valid @RequestBody Map<String, String> requestBody
299300
);
300301

301302

@@ -314,8 +315,8 @@ ResponseEntity<Void> testInlineAdditionalProperties(
314315
contentType = "application/x-www-form-urlencoded"
315316
)
316317
ResponseEntity<Void> testJsonFormData(
317-
@RequestParam(value = "param", required = true) String param,
318-
@RequestParam(value = "param2", required = true) String param2
318+
@Valid @RequestParam(value = "param", required = true) String param,
319+
@Valid @RequestParam(value = "param2", required = true) String param2
319320
);
320321

321322

@@ -333,7 +334,7 @@ ResponseEntity<Void> testJsonFormData(
333334
contentType = "application/json"
334335
)
335336
ResponseEntity<Void> testNullable(
336-
@RequestBody ChildWithNullableDto childWithNullableDto
337+
@Valid @RequestBody ChildWithNullableDto childWithNullableDto
337338
);
338339

339340

@@ -353,10 +354,10 @@ ResponseEntity<Void> testNullable(
353354
accept = { "application/json" }
354355
)
355356
ResponseEntity<Void> testQueryParameterCollectionFormat(
356-
@RequestParam(value = "pipe", required = true) List<String> pipe,
357-
@RequestParam(value = "http", required = true) List<String> http,
358-
@RequestParam(value = "url", required = true) List<String> url,
359-
@RequestParam(value = "context", required = true) List<String> context
357+
@NotNull @Valid @RequestParam(value = "pipe", required = true) List<String> pipe,
358+
@NotNull @Valid @RequestParam(value = "http", required = true) List<String> http,
359+
@NotNull @Valid @RequestParam(value = "url", required = true) List<String> url,
360+
@NotNull @Valid @RequestParam(value = "context", required = true) List<String> context
360361
);
361362

362363

samples/client/petstore/spring-http-interface-bean-validation/src/main/java/org/openapitools/api/FakeClassnameTags123Api.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import jakarta.annotation.Generated;
1818

1919

20+
@Validated
2021
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.20.0-SNAPSHOT")
2122
public interface FakeClassnameTags123Api {
2223

@@ -34,7 +35,7 @@ public interface FakeClassnameTags123Api {
3435
contentType = "application/json"
3536
)
3637
ResponseEntity<ClientDto> testClassname(
37-
@RequestBody ClientDto clientDto
38+
@Valid @RequestBody ClientDto clientDto
3839
);
3940

4041
}

samples/client/petstore/spring-http-interface-bean-validation/src/main/java/org/openapitools/api/PetApi.java

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import jakarta.annotation.Generated;
2222

2323

24+
@Validated
2425
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.20.0-SNAPSHOT")
2526
public interface PetApi {
2627

@@ -39,7 +40,7 @@ public interface PetApi {
3940
contentType = "application/json"
4041
)
4142
ResponseEntity<Void> addPet(
42-
@RequestBody PetDto petDto
43+
@Valid @RequestBody PetDto petDto
4344
);
4445

4546

@@ -58,7 +59,7 @@ ResponseEntity<Void> addPet(
5859
accept = { "application/json" }
5960
)
6061
ResponseEntity<Void> deletePet(
61-
@PathVariable("petId") Long petId,
62+
@NotNull @PathVariable("petId") Long petId,
6263
@RequestHeader(value = "api_key", required = false) @Nullable String apiKey
6364
);
6465

@@ -77,7 +78,7 @@ ResponseEntity<Void> deletePet(
7778
accept = { "application/json", "application/xml" }
7879
)
7980
ResponseEntity<List<PetDto>> findPetsByStatus(
80-
@RequestParam(value = "status", required = true) List<String> status
81+
@NotNull @Valid @RequestParam(value = "status", required = true) List<String> status
8182
);
8283

8384

@@ -97,7 +98,7 @@ ResponseEntity<List<PetDto>> findPetsByStatus(
9798
accept = { "application/json", "application/xml" }
9899
)
99100
ResponseEntity<Set<PetDto>> findPetsByTags(
100-
@RequestParam(value = "tags", required = true) Set<String> tags
101+
@NotNull @Valid @RequestParam(value = "tags", required = true) Set<String> tags
101102
);
102103

103104

@@ -116,7 +117,7 @@ ResponseEntity<Set<PetDto>> findPetsByTags(
116117
accept = { "application/json", "application/xml" }
117118
)
118119
ResponseEntity<PetDto> getPetById(
119-
@PathVariable("petId") Long petId
120+
@NotNull @PathVariable("petId") Long petId
120121
);
121122

122123

@@ -132,7 +133,7 @@ ResponseEntity<PetDto> getPetById(
132133
accept = { "application/json" }
133134
)
134135
ResponseEntity<ResponseObjectWithDifferentFieldNamesDto> responseObjectDifferentNames(
135-
@PathVariable("petId") Long petId
136+
@NotNull @PathVariable("petId") Long petId
136137
);
137138

138139

@@ -153,7 +154,7 @@ ResponseEntity<ResponseObjectWithDifferentFieldNamesDto> responseObjectDifferent
153154
contentType = "application/json"
154155
)
155156
ResponseEntity<Void> updatePet(
156-
@RequestBody PetDto petDto
157+
@Valid @RequestBody PetDto petDto
157158
);
158159

159160

@@ -173,9 +174,9 @@ ResponseEntity<Void> updatePet(
173174
contentType = "application/x-www-form-urlencoded"
174175
)
175176
ResponseEntity<Void> updatePetWithForm(
176-
@PathVariable("petId") Long petId,
177-
@RequestParam(value = "name", required = false) String name,
178-
@RequestParam(value = "status", required = false) String status
177+
@NotNull @PathVariable("petId") Long petId,
178+
@Valid @RequestParam(value = "name", required = false) String name,
179+
@Valid @RequestParam(value = "status", required = false) String status
179180
);
180181

181182

@@ -195,8 +196,8 @@ ResponseEntity<Void> updatePetWithForm(
195196
contentType = "multipart/form-data"
196197
)
197198
ResponseEntity<ApiResponseDto> uploadFile(
198-
@PathVariable("petId") Long petId,
199-
@RequestParam(value = "additionalMetadata", required = false) String additionalMetadata,
199+
@NotNull @PathVariable("petId") Long petId,
200+
@Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata,
200201
@RequestPart(value = "file", required = false) MultipartFile file
201202
);
202203

@@ -217,9 +218,9 @@ ResponseEntity<ApiResponseDto> uploadFile(
217218
contentType = "multipart/form-data"
218219
)
219220
ResponseEntity<ApiResponseDto> uploadFileWithRequiredFile(
220-
@PathVariable("petId") Long petId,
221+
@NotNull @PathVariable("petId") Long petId,
221222
@RequestPart(value = "requiredFile", required = true) MultipartFile requiredFile,
222-
@RequestParam(value = "additionalMetadata", required = false) String additionalMetadata
223+
@Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata
223224
);
224225

225226
}

0 commit comments

Comments
 (0)