You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
master branch v2.1.1 cannot parse the below spec:
Can the project be updated so it can parse specs where the property names are the string null? That string is a valid name.
This worked in older versions of swagger-parser.
openapi: 3.0.1
info:
title: Test for Kotlin reserved words
version: 1.0.0
paths: {}
components:
schemas:
null:
title: Testing reserved word 'null'
type: object
properties:
id:
type: integer
format: int64
Good:
description: OK, Good
type: object
properties:
null:
type: string
And throws the error:
[main] WARN io.swagger.v3.parser.util.DeserializationUtils - Error snake-parsing yaml content
java.lang.IllegalArgumentException: Null key for a Map not allowed in JSON (use a converting NullKeySerializer?) (through reference chain: java.util.LinkedHashMap["components"]->java.util.LinkedHashMap["schemas"]->java.util.LinkedHashMap["Good"]->java.util.LinkedHashMap["properties"]->java.util.LinkedHashMap["null"])
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4393)
at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:4324)
at io.swagger.v3.parser.util.DeserializationUtils.readYamlTree(DeserializationUtils.java:208)
at io.swagger.v3.parser.util.DeserializationUtils.deserializeIntoTree(DeserializationUtils.java:140)
at io.swagger.v3.parser.OpenAPIV3Parser.readContents(OpenAPIV3Parser.java:162)
at io.swagger.v3.parser.OpenAPIV3Parser.readLocation(OpenAPIV3Parser.java:91)
at io.swagger.parser.OpenAPIParser.readLocation(OpenAPIParser.java:16)
at org.openapitools.codegen.TestUtils.parseSpec(TestUtils.java:71)
at org.openapitools.codegen.TestUtils.parseFlattenSpec(TestUtils.java:54)
at org.openapitools.codegen.kotlin.KotlinReservedWordsTest.<init>(KotlinReservedWordsTest.java:24)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.testng.internal.objects.InstanceCreator.newInstance(InstanceCreator.java:38)
at org.testng.ITestObjectFactory.newInstance(ITestObjectFactory.java:18)
at org.testng.internal.objects.SimpleObjectDispenser.instantiateUsingDefaultConstructor(SimpleObjectDispenser.java:178)
at org.testng.internal.objects.SimpleObjectDispenser.createInstance(SimpleObjectDispenser.java:87)
at org.testng.internal.objects.SimpleObjectDispenser.dispense(SimpleObjectDispenser.java:40)
at org.testng.internal.objects.GuiceBasedObjectDispenser.dispense(GuiceBasedObjectDispenser.java:28)
at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:106)
at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:136)
at org.testng.TestClass.getInstances(TestClass.java:129)
at org.testng.TestClass.initTestClassesAndInstances(TestClass.java:109)
at org.testng.TestClass.init(TestClass.java:101)
at org.testng.TestClass.<init>(TestClass.java:66)
at org.testng.TestRunner.initMethods(TestRunner.java:465)
at org.testng.TestRunner.init(TestRunner.java:333)
at org.testng.TestRunner.init(TestRunner.java:286)
at org.testng.TestRunner.<init>(TestRunner.java:176)
at org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(SuiteRunner.java:635)
at org.testng.SuiteRunner.init(SuiteRunner.java:221)
at org.testng.SuiteRunner.<init>(SuiteRunner.java:114)
at org.testng.TestNG.createSuiteRunner(TestNG.java:1342)
at org.testng.TestNG.createSuiteRunners(TestNG.java:1318)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1160)
at org.testng.TestNG.runSuites(TestNG.java:1092)
at org.testng.TestNG.run(TestNG.java:1060)
at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Null key for a Map not allowed in JSON (use a converting NullKeySerializer?) (through reference chain: java.util.LinkedHashMap["components"]->java.util.LinkedHashMap["schemas"]->java.util.LinkedHashMap["Good"]->java.util.LinkedHashMap["properties"]->java.util.LinkedHashMap["null"])
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:283)
The text was updated successfully, but these errors were encountered:
master branch v2.1.1 cannot parse the below spec:
Can the project be updated so it can parse specs where the property names are the string null? That string is a valid name.
This worked in older versions of swagger-parser.
And throws the error:
The text was updated successfully, but these errors were encountered: