11package io .swagger .parser .util ;
22
33import com .fasterxml .jackson .databind .JsonNode ;
4- import com .fasterxml .jackson .databind .node .ArrayNode ;
5- import com .fasterxml .jackson .databind .node .JsonNodeType ;
6- import com .fasterxml .jackson .databind .node .NumericNode ;
7- import com .fasterxml .jackson .databind .node .ObjectNode ;
8- import com .fasterxml .jackson .databind .node .TextNode ;
9-
10- import io .swagger .models .ArrayModel ;
11- import io .swagger .models .ComposedModel ;
12- import io .swagger .models .Contact ;
13- import io .swagger .models .ExternalDocs ;
14- import io .swagger .models .Info ;
15- import io .swagger .models .License ;
16- import io .swagger .models .Model ;
17- import io .swagger .models .ModelImpl ;
18- import io .swagger .models .Operation ;
19- import io .swagger .models .Path ;
20- import io .swagger .models .RefModel ;
21- import io .swagger .models .RefPath ;
22- import io .swagger .models .RefResponse ;
23- import io .swagger .models .Response ;
24- import io .swagger .models .Scheme ;
25- import io .swagger .models .SecurityRequirement ;
26- import io .swagger .models .Swagger ;
27- import io .swagger .models .Tag ;
28- import io .swagger .models .Xml ;
29- import io .swagger .models .auth .ApiKeyAuthDefinition ;
30- import io .swagger .models .auth .BasicAuthDefinition ;
31- import io .swagger .models .auth .In ;
32- import io .swagger .models .auth .OAuth2Definition ;
33- import io .swagger .models .auth .SecuritySchemeDefinition ;
34- import io .swagger .models .parameters .AbstractSerializableParameter ;
35- import io .swagger .models .parameters .FormParameter ;
36- import io .swagger .models .parameters .HeaderParameter ;
37- import io .swagger .models .parameters .Parameter ;
38- import io .swagger .models .parameters .PathParameter ;
39- import io .swagger .models .parameters .QueryParameter ;
40- import io .swagger .models .parameters .RefParameter ;
4+ import com .fasterxml .jackson .databind .node .*;
5+ import io .swagger .models .*;
6+ import io .swagger .models .auth .*;
7+ import io .swagger .models .parameters .*;
418import io .swagger .models .properties .Property ;
429import io .swagger .models .properties .PropertyBuilder ;
4310import io .swagger .util .Json ;
@@ -1322,6 +1289,9 @@ public Double getDouble(String key, ObjectNode node, boolean required, String lo
13221289 else if (v .getNodeType ().equals (JsonNodeType .NUMBER )) {
13231290 value = v .asDouble ();
13241291 }
1292+ else if (!v .isValueNode ()) {
1293+ result .invalidType (location , key , "double" , node );
1294+ }
13251295 return value ;
13261296 }
13271297
@@ -1337,6 +1307,9 @@ public Number getNumber(String key, ObjectNode node, boolean required, String lo
13371307 else if (v .getNodeType ().equals (JsonNodeType .NUMBER )) {
13381308 value = v .numberValue ();
13391309 }
1310+ else if (!v .isValueNode ()) {
1311+ result .invalidType (location , key , "number" , node );
1312+ }
13401313 return value ;
13411314 }
13421315
@@ -1352,6 +1325,9 @@ public Integer getInteger(String key, ObjectNode node, boolean required, String
13521325 else if (v .getNodeType ().equals (JsonNodeType .NUMBER )) {
13531326 value = v .intValue ();
13541327 }
1328+ else if (!v .isValueNode ()) {
1329+ result .invalidType (location , key , "integer" , node );
1330+ }
13551331 return value ;
13561332 }
13571333
@@ -1364,6 +1340,9 @@ public String getString(String key, ObjectNode node, boolean required, String lo
13641340 result .invalid ();
13651341 }
13661342 }
1343+ else if (!v .isValueNode ()) {
1344+ result .invalidType (location , key , "string" , node );
1345+ }
13671346 else {
13681347 value = v .asText ();
13691348 }
0 commit comments