From 6d3602c55009f8d3fe0bca875c11e534741c173d Mon Sep 17 00:00:00 2001 From: frantuma Date: Tue, 24 Oct 2023 15:00:26 +0200 Subject: [PATCH] refs #4462 - exclude javax.validation annotations from container values processing --- .../java/io/swagger/v3/core/jackson/ModelResolver.java | 2 +- .../converting/override/ModelPropertyOverrideTest.java | 8 +++++++- .../v3/core/resolving/resources/BidimensionalArray.java | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ModelResolver.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ModelResolver.java index ac92f91684..9fbaab06f7 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ModelResolver.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ModelResolver.java @@ -432,7 +432,7 @@ public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context if (annotatedType.getCtxAnnotations() != null) { strippedCtxAnnotations.addAll(Arrays.stream( annotatedType.getCtxAnnotations()).filter( - ass -> !ass.annotationType().getName().startsWith("io.swagger") + ass -> !ass.annotationType().getName().startsWith("io.swagger") && !ass.annotationType().getName().startsWith("javax.validation.constraints") ).collect(Collectors.toList())); } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/ModelPropertyOverrideTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/ModelPropertyOverrideTest.java index 638f51d0b6..a4d992c189 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/ModelPropertyOverrideTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/ModelPropertyOverrideTest.java @@ -93,7 +93,13 @@ public void customAnnotationTest() throws Exception { " maxItems: 2\n" + " type: array\n" + " items:\n" + - " type: string\n"; + " type: string\n" + + " sized:\n" + + " maxItems: 2\n" + + " minItems: 0\n" + + " type: array\n" + + " items:\n" + + " type: string\n"; SerializationMatchers.assertEqualsToYaml(model, expected); } } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/resources/BidimensionalArray.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/resources/BidimensionalArray.java index ccb18c8c8f..8f95134f8c 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/resources/BidimensionalArray.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/resources/BidimensionalArray.java @@ -3,6 +3,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import io.swagger.v3.oas.annotations.media.ArraySchema; +import javax.validation.constraints.Size; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -23,6 +24,9 @@ public static interface Foo extends List { } + @Size(max = 2) + public List sized; + @Retention(RetentionPolicy.RUNTIME) @Inherited public static @interface MySizeAnnotation {