[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
This commit is contained in:
Jorge Rodríguez Martín 2025-04-09 11:10:39 +02:00 committed by GitHub
parent bf67367fa1
commit 89f0f7556f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 34 additions and 1 deletions

View File

@ -685,7 +685,7 @@ public class SpringCodegen extends AbstractJavaCodegen
public void preprocessOpenAPI(OpenAPI openAPI) {
super.preprocessOpenAPI(openAPI);
if (!interfaceOnly && SPRING_BOOT.equals(library) && containsEnums()) {
if (SPRING_BOOT.equals(library) && containsEnums()) {
supportingFiles.add(new SupportingFile("converter.mustache",
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator), "EnumConverterConfiguration.java"));
}

View File

@ -7,6 +7,7 @@ src/main/java/org/openapitools/api/FakeClassnameTestApi.java
src/main/java/org/openapitools/api/PetApi.java
src/main/java/org/openapitools/api/StoreApi.java
src/main/java/org/openapitools/api/UserApi.java
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
src/main/java/org/openapitools/model/AdditionalPropertiesBoolean.java

View File

@ -0,0 +1,32 @@
package org.openapitools.configuration;
import org.openapitools.model.EnumClass;
import org.openapitools.model.OuterEnum;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.converter.Converter;
@Configuration
public class EnumConverterConfiguration {
@Bean(name = "org.openapitools.configuration.EnumConverterConfiguration.enumClassConverter")
Converter<String, EnumClass> enumClassConverter() {
return new Converter<String, EnumClass>() {
@Override
public EnumClass convert(String source) {
return EnumClass.fromValue(source);
}
};
}
@Bean(name = "org.openapitools.configuration.EnumConverterConfiguration.outerEnumConverter")
Converter<String, OuterEnum> outerEnumConverter() {
return new Converter<String, OuterEnum>() {
@Override
public OuterEnum convert(String source) {
return OuterEnum.fromValue(source);
}
};
}
}