From 28ed4b18d86f3890c4de879819a86fa8543899eb Mon Sep 17 00:00:00 2001 From: "jaipilot[bot]" <273169020+jaipilot[bot]@users.noreply.github.com> Date: Sat, 22 Aug 2026 16:30:21 +0000 Subject: [PATCH] Lock OAS 3.1 type deserializer behavior and drop a dead null check --- .../io/swagger/v3/core/jackson/mixin/Schema31Mixin.java | 2 +- .../core/deserialization/JsonSchemaTypeRoundTripTest.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/Schema31Mixin.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/Schema31Mixin.java index 066151dd39..44f7315461 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/Schema31Mixin.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/Schema31Mixin.java @@ -100,7 +100,7 @@ public Set deserialize(JsonParser p, DeserializationContext ctxt) throws Set types = new LinkedHashSet<>(); if (node.isArray()) { node.forEach(n -> { - if (n != null && !n.isNull()) { + if (!n.isNull()) { types.add(n.asText()); } }); diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/deserialization/JsonSchemaTypeRoundTripTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/deserialization/JsonSchemaTypeRoundTripTest.java index 4bc335b576..cf0965c881 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/deserialization/JsonSchemaTypeRoundTripTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/deserialization/JsonSchemaTypeRoundTripTest.java @@ -48,6 +48,14 @@ public void multiTypeArrayRoundTripsOnJsonSchema() throws Exception { assertEquals(roundTripped.getTypes(), setOf("string", "null")); } + @Test + public void typeArrayWithLiteralJsonNullElementSkipsIt() throws Exception { + JsonSchema roundTripped = Json31.mapper().readValue("{\"type\":[\"string\",null]}", JsonSchema.class); + + assertNotNull(roundTripped); + assertEquals(roundTripped.getTypes(), setOf("string")); + } + @Test public void convertValuePreservesSingleType() { JsonSchema original = new JsonSchema();