@@ -65,6 +65,8 @@ public class SpringCodegen extends AbstractJavaCodegen implements BeanValidation
6565 public static final String TARGET_OPENFEIGN = "generateForOpenFeign" ;
6666 public static final String DEFAULT_INTERFACES = "defaultInterfaces" ;
6767 public static final String SPRING_BOOT_VERSION = "springBootVersion" ;
68+ public static final String SPRING_BOOT3_VERSION = "springBoot3Version" ;
69+ public static final String SPRING_BOOT3_JAVA_VERSION = "springBoot3JavaVersion" ;
6870 public static final String SPRING_BOOT_VERSION_2 = "springBootV2" ;
6971 public static final String DATE_PATTERN = "datePattern" ;
7072 public static final String DATE_TIME_PATTERN = "dateTimePattern" ;
@@ -95,6 +97,8 @@ public class SpringCodegen extends AbstractJavaCodegen implements BeanValidation
9597 protected boolean openFeign = false ;
9698 protected boolean defaultInterfaces = true ;
9799 protected String springBootVersion = "2.1.16.RELEASE" ;
100+ protected String springBoot3Version = "3.4.2" ;
101+ protected String springBoot3JavaVersion = "21" ;
98102 protected boolean throwsException = false ;
99103 private boolean notNullJacksonAnnotation = false ;
100104 protected String validationMode = "strict" ;
@@ -152,6 +156,20 @@ public SpringCodegen() {
152156 springBootVersionOption .setEnum (springBootEnum );
153157 cliOptions .add (springBootVersionOption );
154158
159+ CliOption springBoot3VersionOption = new CliOption (SPRING_BOOT3_VERSION , "Spring boot 3 version" );
160+ Map <String , String > springBoot3Enum = new HashMap <>();
161+ springBoot3Enum .put ("3.3.4" , "3.3.4" );
162+ springBoot3Enum .put ("3.4.2" , "3.4.2" );
163+ springBoot3VersionOption .setEnum (springBoot3Enum );
164+ cliOptions .add (springBoot3VersionOption );
165+
166+ CliOption springBoot3JavaVersionOption = new CliOption (SPRING_BOOT3_JAVA_VERSION , "Spring boot 3 Java version" );
167+ Map <String , String > springBoot3JavaEnum = new HashMap <>();
168+ springBoot3JavaEnum .put ("17" , "17" );
169+ springBoot3JavaEnum .put ("21" , "21" );
170+ springBoot3JavaVersionOption .setEnum (springBoot3JavaEnum );
171+ cliOptions .add (springBoot3JavaVersionOption );
172+
155173 CliOption validationMode = new CliOption (VALIDATION_MODE_OPTION , "Validation mode to apply" );
156174 validationMode .setDefault (VALIDATION_MODE_STRICT );
157175 Map <String , String > validationModeOptions = new HashMap <String , String >();
@@ -318,6 +336,16 @@ public void processOpts() {
318336 this .setOpenFeign (true );
319337 }
320338
339+ if (additionalProperties .containsKey (SPRING_BOOT3_VERSION )) {
340+ this .springBoot3Version = additionalProperties .get (SPRING_BOOT3_VERSION ).toString ();
341+ }
342+ additionalProperties .put (SPRING_BOOT3_VERSION , this .springBoot3Version );
343+
344+ if (additionalProperties .containsKey (SPRING_BOOT3_JAVA_VERSION )) {
345+ this .springBoot3JavaVersion = additionalProperties .get (SPRING_BOOT3_JAVA_VERSION ).toString ();
346+ }
347+ additionalProperties .put (SPRING_BOOT3_JAVA_VERSION , this .springBoot3JavaVersion );
348+
321349 if (useBeanValidation ) {
322350 writePropertyBack (USE_BEANVALIDATION , useBeanValidation );
323351 if (VALIDATION_MODE_LOOSE .equals (validationMode ) || VALIDATION_MODE_STRICT .equals (validationMode )) {
0 commit comments