Skip to content

Commit ec9c7bd

Browse files
authored
[Java][Spring] fix EnumConverterConfiguration (#14356)
1 parent cce3c96 commit ec9c7bd

File tree

65 files changed

+7681
-145
lines changed

Some content is hidden

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

65 files changed

+7681
-145
lines changed

bin/configs/spring-boot.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ additionalProperties:
88
snapshotVersion: "true"
99
hideGenerationTimestamp: "true"
1010
camelCaseDollarSign: "true"
11+
modelNameSuffix: 'Dto'

modules/openapi-generator/src/main/resources/JavaSpring/converter.mustache

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package {{configPackage}};
33
{{#models}}
44
{{#model}}
55
{{#isEnum}}
6-
import {{modelPackage}}.{{name}};
6+
import {{modelPackage}}.{{classname}};
77
{{/isEnum}}
88
{{/model}}
99
{{/models}}
@@ -19,11 +19,11 @@ public class EnumConverterConfiguration {
1919
{{#model}}
2020
{{#isEnum}}
2121
@Bean
22-
Converter<{{{dataType}}}, {{name}}> {{classVarName}}Converter() {
23-
return new Converter<{{{dataType}}}, {{name}}>() {
22+
Converter<{{{dataType}}}, {{classname}}> {{classVarName}}Converter() {
23+
return new Converter<{{{dataType}}}, {{classname}}>() {
2424
@Override
25-
public {{name}} convert({{{dataType}}} source) {
26-
return {{name}}.fromValue(source);
25+
public {{classname}} convert({{{dataType}}} source) {
26+
return {{classname}}.fromValue(source);
2727
}
2828
};
2929
}

samples/server/petstore/springboot/.openapi-generator/FILES

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -18,54 +18,54 @@ src/main/java/org/openapitools/api/UserApiController.java
1818
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
1919
src/main/java/org/openapitools/configuration/HomeController.java
2020
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
21-
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
22-
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
23-
src/main/java/org/openapitools/model/AdditionalPropertiesBoolean.java
24-
src/main/java/org/openapitools/model/AdditionalPropertiesClass.java
25-
src/main/java/org/openapitools/model/AdditionalPropertiesInteger.java
26-
src/main/java/org/openapitools/model/AdditionalPropertiesNumber.java
27-
src/main/java/org/openapitools/model/AdditionalPropertiesObject.java
28-
src/main/java/org/openapitools/model/AdditionalPropertiesString.java
29-
src/main/java/org/openapitools/model/Animal.java
30-
src/main/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java
31-
src/main/java/org/openapitools/model/ArrayOfNumberOnly.java
32-
src/main/java/org/openapitools/model/ArrayTest.java
33-
src/main/java/org/openapitools/model/BigCat.java
34-
src/main/java/org/openapitools/model/BigCatAllOf.java
35-
src/main/java/org/openapitools/model/Capitalization.java
36-
src/main/java/org/openapitools/model/Cat.java
37-
src/main/java/org/openapitools/model/CatAllOf.java
38-
src/main/java/org/openapitools/model/Category.java
39-
src/main/java/org/openapitools/model/ClassModel.java
40-
src/main/java/org/openapitools/model/Client.java
41-
src/main/java/org/openapitools/model/Dog.java
42-
src/main/java/org/openapitools/model/DogAllOf.java
43-
src/main/java/org/openapitools/model/EnumArrays.java
44-
src/main/java/org/openapitools/model/EnumClass.java
45-
src/main/java/org/openapitools/model/EnumTest.java
46-
src/main/java/org/openapitools/model/File.java
47-
src/main/java/org/openapitools/model/FileSchemaTestClass.java
48-
src/main/java/org/openapitools/model/FormatTest.java
49-
src/main/java/org/openapitools/model/HasOnlyReadOnly.java
50-
src/main/java/org/openapitools/model/MapTest.java
51-
src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java
52-
src/main/java/org/openapitools/model/Model200Response.java
53-
src/main/java/org/openapitools/model/ModelApiResponse.java
54-
src/main/java/org/openapitools/model/ModelList.java
55-
src/main/java/org/openapitools/model/ModelReturn.java
56-
src/main/java/org/openapitools/model/Name.java
57-
src/main/java/org/openapitools/model/NumberOnly.java
58-
src/main/java/org/openapitools/model/Order.java
59-
src/main/java/org/openapitools/model/OuterComposite.java
60-
src/main/java/org/openapitools/model/OuterEnum.java
61-
src/main/java/org/openapitools/model/Pet.java
62-
src/main/java/org/openapitools/model/ReadOnlyFirst.java
63-
src/main/java/org/openapitools/model/SpecialModelName.java
64-
src/main/java/org/openapitools/model/Tag.java
65-
src/main/java/org/openapitools/model/TypeHolderDefault.java
66-
src/main/java/org/openapitools/model/TypeHolderExample.java
67-
src/main/java/org/openapitools/model/User.java
68-
src/main/java/org/openapitools/model/XmlItem.java
21+
src/main/java/org/openapitools/model/AdditionalPropertiesAnyTypeDto.java
22+
src/main/java/org/openapitools/model/AdditionalPropertiesArrayDto.java
23+
src/main/java/org/openapitools/model/AdditionalPropertiesBooleanDto.java
24+
src/main/java/org/openapitools/model/AdditionalPropertiesClassDto.java
25+
src/main/java/org/openapitools/model/AdditionalPropertiesIntegerDto.java
26+
src/main/java/org/openapitools/model/AdditionalPropertiesNumberDto.java
27+
src/main/java/org/openapitools/model/AdditionalPropertiesObjectDto.java
28+
src/main/java/org/openapitools/model/AdditionalPropertiesStringDto.java
29+
src/main/java/org/openapitools/model/AnimalDto.java
30+
src/main/java/org/openapitools/model/ApiResponseDto.java
31+
src/main/java/org/openapitools/model/ArrayOfArrayOfNumberOnlyDto.java
32+
src/main/java/org/openapitools/model/ArrayOfNumberOnlyDto.java
33+
src/main/java/org/openapitools/model/ArrayTestDto.java
34+
src/main/java/org/openapitools/model/BigCatAllOfDto.java
35+
src/main/java/org/openapitools/model/BigCatDto.java
36+
src/main/java/org/openapitools/model/CapitalizationDto.java
37+
src/main/java/org/openapitools/model/CatAllOfDto.java
38+
src/main/java/org/openapitools/model/CatDto.java
39+
src/main/java/org/openapitools/model/CategoryDto.java
40+
src/main/java/org/openapitools/model/ClassModelDto.java
41+
src/main/java/org/openapitools/model/ClientDto.java
42+
src/main/java/org/openapitools/model/DogAllOfDto.java
43+
src/main/java/org/openapitools/model/DogDto.java
44+
src/main/java/org/openapitools/model/EnumArraysDto.java
45+
src/main/java/org/openapitools/model/EnumClassDto.java
46+
src/main/java/org/openapitools/model/EnumTestDto.java
47+
src/main/java/org/openapitools/model/FileDto.java
48+
src/main/java/org/openapitools/model/FileSchemaTestClassDto.java
49+
src/main/java/org/openapitools/model/FormatTestDto.java
50+
src/main/java/org/openapitools/model/HasOnlyReadOnlyDto.java
51+
src/main/java/org/openapitools/model/ListDto.java
52+
src/main/java/org/openapitools/model/MapTestDto.java
53+
src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClassDto.java
54+
src/main/java/org/openapitools/model/Model200ResponseDto.java
55+
src/main/java/org/openapitools/model/NameDto.java
56+
src/main/java/org/openapitools/model/NumberOnlyDto.java
57+
src/main/java/org/openapitools/model/OrderDto.java
58+
src/main/java/org/openapitools/model/OuterCompositeDto.java
59+
src/main/java/org/openapitools/model/OuterEnumDto.java
60+
src/main/java/org/openapitools/model/PetDto.java
61+
src/main/java/org/openapitools/model/ReadOnlyFirstDto.java
62+
src/main/java/org/openapitools/model/ReturnDto.java
63+
src/main/java/org/openapitools/model/SpecialModelNameDto.java
64+
src/main/java/org/openapitools/model/TagDto.java
65+
src/main/java/org/openapitools/model/TypeHolderDefaultDto.java
66+
src/main/java/org/openapitools/model/TypeHolderExampleDto.java
67+
src/main/java/org/openapitools/model/UserDto.java
68+
src/main/java/org/openapitools/model/XmlItemDto.java
6969
src/main/resources/application.properties
7070
src/main/resources/openapi.yaml
7171
src/main/resources/static/swagger-ui.html

samples/server/petstore/springboot/src/main/java/org/openapitools/api/AnotherFakeApi.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66
package org.openapitools.api;
77

8-
import org.openapitools.model.Client;
8+
import org.openapitools.model.ClientDto;
99
import io.swagger.annotations.*;
1010
import org.springframework.http.HttpStatus;
1111
import org.springframework.http.MediaType;
@@ -43,19 +43,19 @@ default Optional<NativeWebRequest> getRequest() {
4343
value = "To test special tags",
4444
nickname = "call123testSpecialTags",
4545
notes = "To test special tags and operation ID starting with number",
46-
response = Client.class
46+
response = ClientDto.class
4747
)
4848
@ApiResponses({
49-
@ApiResponse(code = 200, message = "successful operation", response = Client.class)
49+
@ApiResponse(code = 200, message = "successful operation", response = ClientDto.class)
5050
})
5151
@RequestMapping(
5252
method = RequestMethod.PATCH,
5353
value = "/another-fake/dummy",
5454
produces = { "application/json" },
5555
consumes = { "application/json" }
5656
)
57-
default ResponseEntity<Client> call123testSpecialTags(
58-
@ApiParam(value = "client model", required = true) @Valid @RequestBody Client body
57+
default ResponseEntity<ClientDto> call123testSpecialTags(
58+
@ApiParam(value = "client model", required = true) @Valid @RequestBody ClientDto body
5959
) {
6060
getRequest().ifPresent(request -> {
6161
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {

samples/server/petstore/springboot/src/main/java/org/openapitools/api/AnotherFakeApiController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.openapitools.api;
22

3-
import org.openapitools.model.Client;
3+
import org.openapitools.model.ClientDto;
44

55

66
import org.springframework.beans.factory.annotation.Autowired;

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

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@
55
*/
66
package org.openapitools.api;
77

8+
import org.openapitools.model.ApiResponseDto;
89
import java.math.BigDecimal;
9-
import org.openapitools.model.Client;
10+
import org.openapitools.model.ClientDto;
1011
import org.springframework.format.annotation.DateTimeFormat;
11-
import org.openapitools.model.FileSchemaTestClass;
12+
import org.openapitools.model.FileSchemaTestClassDto;
1213
import java.time.LocalDate;
1314
import java.util.Map;
14-
import org.openapitools.model.ModelApiResponse;
1515
import java.time.OffsetDateTime;
16-
import org.openapitools.model.OuterComposite;
17-
import org.openapitools.model.User;
18-
import org.openapitools.model.XmlItem;
16+
import org.openapitools.model.OuterCompositeDto;
17+
import org.openapitools.model.UserDto;
18+
import org.openapitools.model.XmlItemDto;
1919
import io.swagger.annotations.*;
2020
import org.springframework.http.HttpStatus;
2121
import org.springframework.http.MediaType;
@@ -63,7 +63,7 @@ default Optional<NativeWebRequest> getRequest() {
6363
consumes = { "application/xml", "application/xml; charset=utf-8", "application/xml; charset=utf-16", "text/xml", "text/xml; charset=utf-8", "text/xml; charset=utf-16" }
6464
)
6565
default ResponseEntity<Void> createXmlItem(
66-
@ApiParam(value = "XmlItem Body", required = true) @Valid @RequestBody XmlItem xmlItem
66+
@ApiParam(value = "XmlItem Body", required = true) @Valid @RequestBody XmlItemDto xmlItem
6767
) {
6868
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
6969

@@ -112,18 +112,18 @@ default ResponseEntity<Boolean> fakeOuterBooleanSerialize(
112112
value = "",
113113
nickname = "fakeOuterCompositeSerialize",
114114
notes = "Test serialization of object with outer number type",
115-
response = OuterComposite.class
115+
response = OuterCompositeDto.class
116116
)
117117
@ApiResponses({
118-
@ApiResponse(code = 200, message = "Output composite", response = OuterComposite.class)
118+
@ApiResponse(code = 200, message = "Output composite", response = OuterCompositeDto.class)
119119
})
120120
@RequestMapping(
121121
method = RequestMethod.POST,
122122
value = "/fake/outer/composite",
123123
produces = { "*/*" }
124124
)
125-
default ResponseEntity<OuterComposite> fakeOuterCompositeSerialize(
126-
@ApiParam(value = "Input composite as post body") @Valid @RequestBody(required = false) OuterComposite body
125+
default ResponseEntity<OuterCompositeDto> fakeOuterCompositeSerialize(
126+
@ApiParam(value = "Input composite as post body") @Valid @RequestBody(required = false) OuterCompositeDto body
127127
) {
128128
getRequest().ifPresent(request -> {
129129
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
@@ -221,7 +221,7 @@ default ResponseEntity<String> fakeOuterStringSerialize(
221221
consumes = { "application/json" }
222222
)
223223
default ResponseEntity<Void> testBodyWithFileSchema(
224-
@ApiParam(value = "", required = true) @Valid @RequestBody FileSchemaTestClass body
224+
@ApiParam(value = "", required = true) @Valid @RequestBody FileSchemaTestClassDto body
225225
) {
226226
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
227227

@@ -251,7 +251,7 @@ default ResponseEntity<Void> testBodyWithFileSchema(
251251
)
252252
default ResponseEntity<Void> testBodyWithQueryParams(
253253
@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query,
254-
@ApiParam(value = "", required = true) @Valid @RequestBody User body
254+
@ApiParam(value = "", required = true) @Valid @RequestBody UserDto body
255255
) {
256256
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
257257

@@ -270,19 +270,19 @@ default ResponseEntity<Void> testBodyWithQueryParams(
270270
value = "To test \"client\" model",
271271
nickname = "testClientModel",
272272
notes = "To test \"client\" model",
273-
response = Client.class
273+
response = ClientDto.class
274274
)
275275
@ApiResponses({
276-
@ApiResponse(code = 200, message = "successful operation", response = Client.class)
276+
@ApiResponse(code = 200, message = "successful operation", response = ClientDto.class)
277277
})
278278
@RequestMapping(
279279
method = RequestMethod.PATCH,
280280
value = "/fake",
281281
produces = { "application/json" },
282282
consumes = { "application/json" }
283283
)
284-
default ResponseEntity<Client> testClientModel(
285-
@ApiParam(value = "client model", required = true) @Valid @RequestBody Client body
284+
default ResponseEntity<ClientDto> testClientModel(
285+
@ApiParam(value = "client model", required = true) @Valid @RequestBody ClientDto body
286286
) {
287287
getRequest().ifPresent(request -> {
288288
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
@@ -548,7 +548,7 @@ default ResponseEntity<Void> testQueryParameterCollectionFormat(
548548
value = "uploads an image (required)",
549549
nickname = "uploadFileWithRequiredFile",
550550
notes = "",
551-
response = ModelApiResponse.class,
551+
response = ApiResponseDto.class,
552552
authorizations = {
553553
@Authorization(value = "petstore_auth", scopes = {
554554
@AuthorizationScope(scope = "write:pets", description = "modify pets in your account"),
@@ -557,15 +557,15 @@ default ResponseEntity<Void> testQueryParameterCollectionFormat(
557557
}
558558
)
559559
@ApiResponses({
560-
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
560+
@ApiResponse(code = 200, message = "successful operation", response = ApiResponseDto.class)
561561
})
562562
@RequestMapping(
563563
method = RequestMethod.POST,
564564
value = "/fake/{petId}/uploadImageWithRequiredFile",
565565
produces = { "application/json" },
566566
consumes = { "multipart/form-data" }
567567
)
568-
default ResponseEntity<ModelApiResponse> uploadFileWithRequiredFile(
568+
default ResponseEntity<ApiResponseDto> uploadFileWithRequiredFile(
569569
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId,
570570
@ApiParam(value = "file to upload", required = true) @RequestPart(value = "requiredFile", required = true) MultipartFile requiredFile,
571571
@ApiParam(value = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata

samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeApiController.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package org.openapitools.api;
22

3+
import org.openapitools.model.ApiResponseDto;
34
import java.math.BigDecimal;
4-
import org.openapitools.model.Client;
5+
import org.openapitools.model.ClientDto;
56
import org.springframework.format.annotation.DateTimeFormat;
6-
import org.openapitools.model.FileSchemaTestClass;
7+
import org.openapitools.model.FileSchemaTestClassDto;
78
import java.time.LocalDate;
89
import java.util.Map;
9-
import org.openapitools.model.ModelApiResponse;
1010
import java.time.OffsetDateTime;
11-
import org.openapitools.model.OuterComposite;
12-
import org.openapitools.model.User;
13-
import org.openapitools.model.XmlItem;
11+
import org.openapitools.model.OuterCompositeDto;
12+
import org.openapitools.model.UserDto;
13+
import org.openapitools.model.XmlItemDto;
1414

1515

1616
import org.springframework.beans.factory.annotation.Autowired;

samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeClassnameTestApi.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66
package org.openapitools.api;
77

8-
import org.openapitools.model.Client;
8+
import org.openapitools.model.ClientDto;
99
import io.swagger.annotations.*;
1010
import org.springframework.http.HttpStatus;
1111
import org.springframework.http.MediaType;
@@ -43,22 +43,22 @@ default Optional<NativeWebRequest> getRequest() {
4343
value = "To test class name in snake case",
4444
nickname = "testClassname",
4545
notes = "To test class name in snake case",
46-
response = Client.class,
46+
response = ClientDto.class,
4747
authorizations = {
4848
@Authorization(value = "api_key_query")
4949
}
5050
)
5151
@ApiResponses({
52-
@ApiResponse(code = 200, message = "successful operation", response = Client.class)
52+
@ApiResponse(code = 200, message = "successful operation", response = ClientDto.class)
5353
})
5454
@RequestMapping(
5555
method = RequestMethod.PATCH,
5656
value = "/fake_classname_test",
5757
produces = { "application/json" },
5858
consumes = { "application/json" }
5959
)
60-
default ResponseEntity<Client> testClassname(
61-
@ApiParam(value = "client model", required = true) @Valid @RequestBody Client body
60+
default ResponseEntity<ClientDto> testClassname(
61+
@ApiParam(value = "client model", required = true) @Valid @RequestBody ClientDto body
6262
) {
6363
getRequest().ifPresent(request -> {
6464
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {

samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeClassnameTestApiController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.openapitools.api;
22

3-
import org.openapitools.model.Client;
3+
import org.openapitools.model.ClientDto;
44

55

66
import org.springframework.beans.factory.annotation.Autowired;

0 commit comments

Comments
 (0)