Skip to content

Commit f4e632b

Browse files
committed
Do not require JsonSubType annotation for sealed classes #2696
1 parent 7c0229f commit f4e632b

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configuration/SpringDocSealedClassModule.java

+8-4
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@
2222

2323
package org.springdoc.core.configuration;
2424

25+
import java.util.ArrayList;
26+
import java.util.Arrays;
27+
import java.util.List;
28+
2529
import com.fasterxml.jackson.databind.introspect.Annotated;
2630
import com.fasterxml.jackson.databind.jsontype.NamedType;
2731
import com.fasterxml.jackson.databind.module.SimpleModule;
2832
import io.swagger.v3.core.jackson.SwaggerAnnotationIntrospector;
29-
import java.util.ArrayList;
30-
import java.util.Arrays;
31-
import java.util.List;
3233

3334
/**
3435
* The type Spring doc sealed class module.
@@ -51,7 +52,10 @@ private static class RespectSealedClassAnnotationIntrospector extends SwaggerAnn
5152
public List<NamedType> findSubtypes(Annotated annotated) {
5253
ArrayList<NamedType> subTypes = new ArrayList<>();
5354

54-
if (annotated.getAnnotated() instanceof Class<?> clazz && clazz.isSealed()) {
55+
if (annotated.getAnnotated() instanceof Class<?> clazz
56+
&& clazz.isSealed()
57+
&& !clazz.getPackage().getName().startsWith("java")
58+
) {
5559
Class<?>[] permittedSubClasses = clazz.getPermittedSubclasses();
5660
if (permittedSubClasses.length > 0) {
5761
Arrays.stream(permittedSubClasses).map(NamedType::new).forEach(subTypes::add);

0 commit comments

Comments
 (0)