Skip to content

Commit 89f0f75

Browse files
authored
[Java][Spring] Ensure EnumConverterConfiguration.java is generated when interfaceOnly=true in Spring Generator (#21000)
* Ensure EnumConverterConfiguration.java is generated when interfaceOnly=true in Spring Generator * Add samples
1 parent bf67367 commit 89f0f75

File tree

3 files changed

+34
-1
lines changed

3 files changed

+34
-1
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,7 @@ public void addOperationToGroup(String tag, String resourcePath, Operation opera
685685
public void preprocessOpenAPI(OpenAPI openAPI) {
686686
super.preprocessOpenAPI(openAPI);
687687

688-
if (!interfaceOnly && SPRING_BOOT.equals(library) && containsEnums()) {
688+
if (SPRING_BOOT.equals(library) && containsEnums()) {
689689
supportingFiles.add(new SupportingFile("converter.mustache",
690690
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator), "EnumConverterConfiguration.java"));
691691
}

samples/server/petstore/spring-boot-defaultInterface-unhandledException/.openapi-generator/FILES

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ src/main/java/org/openapitools/api/FakeClassnameTestApi.java
77
src/main/java/org/openapitools/api/PetApi.java
88
src/main/java/org/openapitools/api/StoreApi.java
99
src/main/java/org/openapitools/api/UserApi.java
10+
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
1011
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
1112
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
1213
src/main/java/org/openapitools/model/AdditionalPropertiesBoolean.java
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package org.openapitools.configuration;
2+
3+
import org.openapitools.model.EnumClass;
4+
import org.openapitools.model.OuterEnum;
5+
6+
import org.springframework.context.annotation.Bean;
7+
import org.springframework.context.annotation.Configuration;
8+
import org.springframework.core.convert.converter.Converter;
9+
10+
@Configuration
11+
public class EnumConverterConfiguration {
12+
13+
@Bean(name = "org.openapitools.configuration.EnumConverterConfiguration.enumClassConverter")
14+
Converter<String, EnumClass> enumClassConverter() {
15+
return new Converter<String, EnumClass>() {
16+
@Override
17+
public EnumClass convert(String source) {
18+
return EnumClass.fromValue(source);
19+
}
20+
};
21+
}
22+
@Bean(name = "org.openapitools.configuration.EnumConverterConfiguration.outerEnumConverter")
23+
Converter<String, OuterEnum> outerEnumConverter() {
24+
return new Converter<String, OuterEnum>() {
25+
@Override
26+
public OuterEnum convert(String source) {
27+
return OuterEnum.fromValue(source);
28+
}
29+
};
30+
}
31+
32+
}

0 commit comments

Comments
 (0)