Skip to content

Commit daa8eb4

Browse files
authored
import Nullable if required (#21829)
Also allows to override it eg with: <importMapping>Nullable=org.jspecify.annotations.Nullable</importMapping>
1 parent e4c9eb3 commit daa8eb4

File tree

271 files changed

+97
-270
lines changed

Some content is hidden

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

271 files changed

+97
-270
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1039,6 +1039,12 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation
10391039
codegenOperation.imports.addAll(provideArgsClassSet);
10401040
}
10411041

1042+
// to prevent inheritors (JavaCamelServerCodegen etc.) mistakenly use it
1043+
if (getName().contains("spring")) {
1044+
codegenOperation.allParams.stream().filter(CodegenParameter::notRequiredOrIsNullable).findAny()
1045+
.ifPresent(p -> codegenOperation.imports.add("Nullable"));
1046+
}
1047+
10421048
if (reactive) {
10431049
if (DocumentationProvider.SPRINGFOX.equals(getDocumentationProvider())) {
10441050
codegenOperation.imports.add("ApiIgnore");

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import io.virtualan.annotation.VirtualService;
3232
import org.springframework.http.HttpStatus;
3333
import org.springframework.http.MediaType;
3434
{{/jdk8-no-delegate}}
35-
import org.springframework.lang.Nullable;
3635
{{^useResponseEntity}}
3736
import org.springframework.http.HttpStatus;
3837
{{/useResponseEntity}}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import io.swagger.annotations.*;
2121
import org.springframework.beans.factory.annotation.Autowired;
2222
import org.springframework.http.HttpStatus;
2323
import org.springframework.http.MediaType;
24-
import org.springframework.lang.Nullable;
2524
{{#useResponseEntity}}
2625
import org.springframework.http.ResponseEntity;
2726
import org.springframework.stereotype.Controller;

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import org.springframework.http.MediaType;
77
{{#useResponseEntity}}
88
import org.springframework.http.ResponseEntity;
99
{{/useResponseEntity}}
10-
import org.springframework.lang.Nullable;
1110
import org.springframework.web.context.request.NativeWebRequest;
1211
import org.springframework.web.multipart.MultipartFile;
1312
{{#reactive}}

modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-http-interface/api.mustache

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import org.springframework.http.HttpStatus;
1313
{{#useResponseEntity}}
1414
import org.springframework.http.ResponseEntity;
1515
{{/useResponseEntity}}
16-
import org.springframework.lang.Nullable;
1716
import org.springframework.web.bind.annotation.*;
1817
import org.springframework.web.service.annotation.*;
1918
import org.springframework.web.multipart.MultipartFile;

samples/client/petstore/spring-cloud-auth/src/main/java/org/openapitools/api/SomeApi.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
import org.springframework.http.HttpStatus;
99
import org.springframework.http.MediaType;
10-
import org.springframework.lang.Nullable;
1110
import org.springframework.http.ResponseEntity;
1211
import org.springframework.validation.annotation.Validated;
1312
import org.springframework.web.bind.annotation.*;

samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77

88
import org.springframework.format.annotation.DateTimeFormat;
99
import java.time.LocalDate;
10+
import org.springframework.lang.Nullable;
1011
import java.time.OffsetDateTime;
1112
import io.swagger.annotations.*;
1213
import org.springframework.http.HttpStatus;
1314
import org.springframework.http.MediaType;
14-
import org.springframework.lang.Nullable;
1515
import org.springframework.http.ResponseEntity;
1616
import org.springframework.validation.annotation.Validated;
1717
import org.springframework.web.bind.annotation.*;

samples/client/petstore/spring-cloud-deprecated/src/main/java/org/openapitools/api/PetApi.java

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

88
import org.openapitools.model.ModelApiResponse;
9+
import org.springframework.lang.Nullable;
910
import org.openapitools.model.Pet;
1011
import io.swagger.v3.oas.annotations.ExternalDocumentation;
1112
import io.swagger.v3.oas.annotations.Operation;
@@ -21,7 +22,6 @@
2122
import io.swagger.v3.oas.annotations.media.ExampleObject;
2223
import org.springframework.http.HttpStatus;
2324
import org.springframework.http.MediaType;
24-
import org.springframework.lang.Nullable;
2525
import org.springframework.http.ResponseEntity;
2626
import org.springframework.validation.annotation.Validated;
2727
import org.springframework.web.bind.annotation.*;

samples/client/petstore/spring-cloud-deprecated/src/main/java/org/openapitools/api/StoreApi.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import io.swagger.v3.oas.annotations.media.ExampleObject;
2222
import org.springframework.http.HttpStatus;
2323
import org.springframework.http.MediaType;
24-
import org.springframework.lang.Nullable;
2524
import org.springframework.http.ResponseEntity;
2625
import org.springframework.validation.annotation.Validated;
2726
import org.springframework.web.bind.annotation.*;

samples/client/petstore/spring-cloud-deprecated/src/main/java/org/openapitools/api/UserApi.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import io.swagger.v3.oas.annotations.media.ExampleObject;
2222
import org.springframework.http.HttpStatus;
2323
import org.springframework.http.MediaType;
24-
import org.springframework.lang.Nullable;
2524
import org.springframework.http.ResponseEntity;
2625
import org.springframework.validation.annotation.Validated;
2726
import org.springframework.web.bind.annotation.*;

0 commit comments

Comments
 (0)