diff --git a/modules/openapi-generator/pom.xml b/modules/openapi-generator/pom.xml index 7e793f45499..9ab17b45b53 100644 --- a/modules/openapi-generator/pom.xml +++ b/modules/openapi-generator/pom.xml @@ -198,8 +198,8 @@ 1.3.0 26.0-jre 1.0.2 - 2.9.10 - 2.9.10 + 2.10.1 + 2.10.0 1.3.60 @@ -212,7 +212,7 @@ ${swagger-parser-groupid} swagger-parser ${swagger-parser-version} - + com.samskivert jmustache @@ -268,6 +268,11 @@ jackson-datatype-guava ${jackson-version} + + com.fasterxml.jackson.core + jackson-core + ${jackson-version} + org.testng testng diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/JsonCacheImpl.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/JsonCacheImpl.java index 9409372b4d4..3f2688fc5e0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/JsonCacheImpl.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/JsonCacheImpl.java @@ -1364,7 +1364,11 @@ class JsonCacheImpl implements JsonCache.Root { } else { JsonNode node = root.at(ptr); Object value = node.isPojo() && !JsonNode.class.isAssignableFrom(type) ? ((POJONode) node).getPojo() : node; - result = mapper.convertValue(value, type); + if ((value != null) && (value.getClass() == type)) { + result = (T) value; + } else { + result = mapper.convertValue(value, type); + } } return result; } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/serializer/SerializerUtilsTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/serializer/SerializerUtilsTest.java index 80629f717bd..046645ec0db 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/serializer/SerializerUtilsTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/serializer/SerializerUtilsTest.java @@ -52,7 +52,7 @@ public class SerializerUtilsTest { " description: Some description\n" + " operationId: pingOp\n" + " responses:\n" + - " 200:\n" + + " \"200\":\n" + " description: Ok\n" + "components:\n" + " schemas:\n" + @@ -178,7 +178,7 @@ public class SerializerUtilsTest { " description: Some description\n" + " operationId: pingOp\n" + " responses:\n" + - " 200:\n" + + " \"200\":\n" + " description: Ok\n"; assertEquals(content, expected); } diff --git a/pom.xml b/pom.xml index b370f12d3db..5ff033ed37a 100644 --- a/pom.xml +++ b/pom.xml @@ -1401,9 +1401,9 @@ 1.8 1.8 - 2.0.10 + 2.1.1 io.swagger.parser.v3 - 2.0.16 + 2.0.17 2.11.1 3.3.1 2.4