Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
41 changes: 41 additions & 0 deletions .github/workflows/samples-spring-jdk11.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Samples Java Spring (JDK11)

on:
push:
paths:
# servers
- samples/server/petstore/springboot-implicitHeaders/**
- samples/server/petstore/springboot-implicitHeaders-annotationLibrary/**
pull_request:
paths:
# servers
- samples/server/petstore/springboot-implicitHeaders/**
- samples/server/petstore/springboot-implicitHeaders-annotationLibrary/**
jobs:
build:
name: Build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# servers
- samples/server/petstore/springboot-implicitHeaders
- samples/server/petstore/springboot-implicitHeaders-annotationLibrary
steps:
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11
- name: Cache maven dependencies
uses: actions/cache@v5
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress
2 changes: 1 addition & 1 deletion .github/workflows/samples-spring.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 8
java-version: 17
- name: Cache maven dependencies
uses: actions/cache@v5
env:
Expand Down
1 change: 1 addition & 0 deletions bin/configs/java-camel-petstore-new.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ additionalProperties:
camelRestClientRequestValidation: true
camelSecurityDefinitions: true
implicitHeaders: true
useSpringBoot3: false
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ additionalProperties:
annotationLibrary: none
hideGenerationTimestamp: "true"
implicitHeadersRegex: .*
useSpringBoot3: false
1 change: 1 addition & 0 deletions bin/configs/spring-boot-implicitHeaders.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ additionalProperties:
artifactId: springboot-implicitHeaders
documentationProvider: springdoc
hideGenerationTimestamp: "true"
useSpringBoot3: false
implicitHeadersRegex: .*
2 changes: 1 addition & 1 deletion docs/generators/java-camel.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|useOptional|Use Optional container for optional parameters| |false|
|useResponseEntity|Use the `ResponseEntity` type to wrap return values of generated API methods. If disabled, method are annotated using a `@ResponseStatus` annotation, which has the status of the first response declared in the Api definition| |true|
|useSealed|Whether to generate sealed model interfaces and classes| |false|
|useSpringBoot3|Generate code and provide dependencies for use with Spring Boot ≥ 3 (use jakarta instead of javax in imports). Enabling this option will also enable `useJakartaEe`.| |false|
|useSpringBoot3|Generate code and provide dependencies for use with Spring Boot ≥ 3 (use jakarta instead of javax in imports). Enabling this option will also enable `useJakartaEe`.| |true|
|useSpringBoot4|Generate code and provide dependencies for use with Spring Boot 4.x. (Use jakarta instead of javax in imports). Enabling this option will also enable `useJakartaEe`.| |false|
|useSpringBuiltInValidation|Disable `@Validated` at the class level when using built-in validation.| |false|
|useSpringController|Annotate the generated API as a Spring Controller| |false|
Expand Down
2 changes: 1 addition & 1 deletion docs/generators/spring.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|useOptional|Use Optional container for optional parameters| |false|
|useResponseEntity|Use the `ResponseEntity` type to wrap return values of generated API methods. If disabled, method are annotated using a `@ResponseStatus` annotation, which has the status of the first response declared in the Api definition| |true|
|useSealed|Whether to generate sealed model interfaces and classes| |false|
|useSpringBoot3|Generate code and provide dependencies for use with Spring Boot ≥ 3 (use jakarta instead of javax in imports). Enabling this option will also enable `useJakartaEe`.| |false|
|useSpringBoot3|Generate code and provide dependencies for use with Spring Boot ≥ 3 (use jakarta instead of javax in imports). Enabling this option will also enable `useJakartaEe`.| |true|
|useSpringBoot4|Generate code and provide dependencies for use with Spring Boot 4.x. (Use jakarta instead of javax in imports). Enabling this option will also enable `useJakartaEe`.| |false|
|useSpringBuiltInValidation|Disable `@Validated` at the class level when using built-in validation.| |false|
|useSpringController|Annotate the generated API as a Spring Controller| |false|
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ public enum RequestMappingMode {
@Setter protected boolean generateGenericResponseEntity = false;
@Setter protected boolean useEnumCaseInsensitive = false;
@Getter @Setter
protected boolean useSpringBoot3 = false;
protected boolean useSpringBoot3 = true;
@Getter @Setter
protected boolean useSpringBoot4 = false;
@Getter @Setter
Expand Down Expand Up @@ -520,9 +520,11 @@ public void processOpts() {
convertPropertyToBooleanAndWriteBack(USE_JACKSON_3, this::setUseJackson3);
convertPropertyToBooleanAndWriteBack(USE_SPRING_BOOT3, this::setUseSpringBoot3);
convertPropertyToBooleanAndWriteBack(USE_SPRING_BOOT4, this::setUseSpringBoot4);
if(isUseSpringBoot3() && isUseSpringBoot4()){
throw new IllegalArgumentException("Choose between Spring Boot 3 and Spring Boot 4");

if (isUseSpringBoot4()) {
setUseSpringBoot3(false);
}

if (isUseSpringBoot3() || isUseSpringBoot4()) {
if (AnnotationLibrary.SWAGGER1.equals(getAnnotationLibrary())) {
throw new IllegalArgumentException(AnnotationLibrary.SWAGGER1.getPropertyName() + " is not supported with Spring Boot > 3.x");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1221,6 +1221,7 @@ public void shouldAddValidAnnotationIntoCollectionWhenBeanValidationIsEnabled_is
codegen.additionalProperties().put(SpringCodegen.PERFORM_BEANVALIDATION, "true");
codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.model");
codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "xyz.controller");
codegen.additionalProperties().put("useSpringBoot3", false);

ClientOptInput input = new ClientOptInput()
.openAPI(openAPI)
Expand Down Expand Up @@ -2148,6 +2149,7 @@ public void testTypeMappings() {
@Test
public void testImportMappings() {
final SpringCodegen codegen = new SpringCodegen();
codegen.additionalProperties().put("useSpringBoot3", false);
codegen.processOpts();
Assert.assertEquals(codegen.importMapping().get("org.springframework.core.io.Resource"), "org.springframework.core.io.Resource");
Assert.assertEquals(codegen.importMapping().get("DateTimeFormat"), "org.springframework.format.annotation.DateTimeFormat");
Expand Down Expand Up @@ -2512,6 +2514,8 @@ public void paramObjectImportForDifferentSpringBootVersions_issue14077() throws
additionalProperties.put(DOCUMENTATION_PROVIDER, "springdoc");
additionalProperties.put(SpringCodegen.INTERFACE_ONLY, "true");
additionalProperties.put(SpringCodegen.SKIP_DEFAULT_INTERFACE, "true");
additionalProperties.put("useSpringBoot3", false);

Map<String, File> files = generateFromContract("src/test/resources/2_0/petstore-with-spring-pageable.yaml", SPRING_BOOT, additionalProperties);

JavaFileAssert.assertThat(files.get("PetApi.java"))
Expand Down Expand Up @@ -2767,6 +2771,7 @@ public void requiredFieldShouldIncludeNotNullAnnotation_issue13365() throws IOEx
codegen.additionalProperties().put(CodegenConstants.SORT_PARAMS_BY_REQUIRED_FLAG, "false");
codegen.additionalProperties().put(CodegenConstants.SERIALIZATION_LIBRARY, "jackson");
codegen.additionalProperties().put(SpringCodegen.USE_TAGS, "true");
codegen.additionalProperties().put("useSpringBoot3", false);

Map<String, File> files = generateFiles(codegen, "src/test/resources/bugs/issue_13365.yml");

Expand Down Expand Up @@ -2865,6 +2870,7 @@ public void requiredFieldShouldIncludeNotNullAnnotationWithBeanValidationTrue_is
codegen.additionalProperties().put(CodegenConstants.SORT_PARAMS_BY_REQUIRED_FLAG, "false");
codegen.additionalProperties().put(CodegenConstants.SERIALIZATION_LIBRARY, "jackson");
codegen.additionalProperties().put(SpringCodegen.USE_TAGS, "true");
codegen.additionalProperties().put("useSpringBoot3", false);

Map<String, File> files = generateFiles(codegen, "src/test/resources/bugs/issue_13365.yml");

Expand Down
13 changes: 6 additions & 7 deletions samples/client/petstore/spring-cloud-auth/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@
<name>petstore-spring-cloud-auth</name>
<version>1.0.0</version>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<java.version>17</java.version>
<maven.compiler.release>${java.version}</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.15</version>
<version>3.3.13</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<build>
<sourceDirectory>src/main/java</sourceDirectory>

Expand All @@ -27,7 +27,7 @@
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>2021.0.5</version>
<version>2023.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand All @@ -48,7 +48,6 @@
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-client</artifactId>
<version>5.7.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
Expand All @@ -57,7 +56,7 @@
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>jackson-databind-nullable</artifactId>
<version>0.2.8</version>
<version>0.2.9</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.Valid;
import javax.validation.constraints.*;
import jakarta.validation.Valid;
import jakarta.validation.constraints.*;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Generated;
import jakarta.annotation.Generated;

@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.21.0-SNAPSHOT")
@Validated
Expand Down
21 changes: 10 additions & 11 deletions samples/client/petstore/spring-cloud-date-time/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@
<name>spring-cloud-date-time</name>
<version>1.0</version>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<java.version>17</java.version>
<maven.compiler.release>${java.version}</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<springdoc.version>1.6.14</springdoc.version>
<springdoc.version>2.2.0</springdoc.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.15</version>
<version>3.3.13</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<build>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
Expand All @@ -41,7 +41,7 @@
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>2021.0.5</version>
<version>2023.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand All @@ -50,11 +50,11 @@

<dependencies>
<!--SpringDoc dependencies -->
<dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${springdoc.version}</version>
</dependency>
</dependency>
<!-- @Nullable annotation -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
Expand All @@ -68,7 +68,6 @@
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-client</artifactId>
<version>5.7.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
Expand All @@ -77,7 +76,7 @@
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>jackson-databind-nullable</artifactId>
<version>0.2.8</version>
<version>0.2.9</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.Valid;
import javax.validation.constraints.*;
import jakarta.validation.Valid;
import jakarta.validation.constraints.*;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Generated;
import jakarta.annotation.Generated;

@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.21.0-SNAPSHOT")
@Validated
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@
import org.springframework.lang.Nullable;
import org.openapitools.jackson.nullable.JsonNullable;
import java.time.OffsetDateTime;
import javax.validation.Valid;
import javax.validation.constraints.*;
import jakarta.validation.Valid;
import jakarta.validation.constraints.*;
import io.swagger.v3.oas.annotations.media.Schema;


import java.util.*;
import javax.annotation.Generated;
import jakarta.annotation.Generated;

/**
* Pet
Expand Down
21 changes: 10 additions & 11 deletions samples/client/petstore/spring-cloud-deprecated/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@
<name>spring-cloud-deprecated</name>
<version>1.0.0</version>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<java.version>17</java.version>
<maven.compiler.release>${java.version}</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<springdoc.version>1.6.14</springdoc.version>
<springdoc.version>2.2.0</springdoc.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.15</version>
<version>3.3.13</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<build>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
Expand All @@ -41,7 +41,7 @@
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>2021.0.5</version>
<version>2023.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand All @@ -50,11 +50,11 @@

<dependencies>
<!--SpringDoc dependencies -->
<dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${springdoc.version}</version>
</dependency>
</dependency>
<!-- @Nullable annotation -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
Expand All @@ -68,7 +68,6 @@
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-client</artifactId>
<version>5.7.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
Expand All @@ -77,7 +76,7 @@
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>jackson-databind-nullable</artifactId>
<version>0.2.8</version>
<version>0.2.9</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.Valid;
import javax.validation.constraints.*;
import jakarta.validation.Valid;
import jakarta.validation.constraints.*;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Generated;
import jakarta.annotation.Generated;

@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.21.0-SNAPSHOT")
@Validated
Expand Down
Loading
Loading