From 2322b7bb753732b2efa78e1b8c4da75baabd56e5 Mon Sep 17 00:00:00 2001 From: T3rm1 Date: Tue, 8 Apr 2025 16:55:21 +0200 Subject: [PATCH] Include Nonnull annotation from Jakarta Annotations for required items --- .../src/main/java/io/swagger/v3/core/jackson/ModelResolver.java | 2 +- .../io/swagger/v3/core/oas/models/BeanValidationsModel.java | 2 ++ .../java/io/swagger/v3/core/resolving/BeanValidatorTest.java | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) 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 3235240588..053045785e 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 @@ -1702,7 +1702,7 @@ protected boolean applyBeanValidatorAnnotations(Schema property, Annotation[] an if (parent != null && Arrays.stream(annotations).anyMatch( - annotation -> annotation.annotationType().getSimpleName().equals("NonNull"))) { + annotation -> annotation.annotationType().getSimpleName().equalsIgnoreCase("NonNull"))) { modified = updateRequiredItem(parent, property.getName()) || modified; } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/BeanValidationsModel.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/BeanValidationsModel.java index ce75707817..999cba4bf6 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/BeanValidationsModel.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/BeanValidationsModel.java @@ -1,5 +1,6 @@ package io.swagger.v3.core.oas.models; +import javax.annotation.Nonnull; import javax.validation.constraints.DecimalMax; import javax.validation.constraints.DecimalMin; import javax.validation.constraints.Max; @@ -18,6 +19,7 @@ public class BeanValidationsModel { @Max(99) protected Integer age; + @Nonnull protected String username; @Size(min = 6, max = 20) diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/BeanValidatorTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/BeanValidatorTest.java index 9a00b4b6ef..3e05916f0f 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/BeanValidatorTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/BeanValidatorTest.java @@ -22,6 +22,7 @@ public void readBeanValidatorTest() { final Map properties = model.getProperties(); Assert.assertTrue(model.getRequired().contains("id")); + Assert.assertTrue(model.getRequired().contains("username")); final IntegerSchema age = (IntegerSchema) properties.get("age"); Assert.assertEquals(age.getMinimum(), new BigDecimal(13.0));