Skip to content

Commit b65db7a

Browse files
authored
Merge pull request #1619 from swagger-api/empty-strings
Empty strings
2 parents cc76ade + dd311de commit b65db7a

File tree

6 files changed

+196
-63
lines changed

6 files changed

+196
-63
lines changed

modules/swagger-parser-core/src/main/java/io/swagger/v3/parser/core/models/ParseOptions.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ public class ParseOptions {
88
private boolean flattenComposedSchemas;
99
private boolean camelCaseFlattenNaming;
1010
private boolean skipMatches;
11+
private boolean allowEmptyStrings = true;
1112

1213
public boolean isResolve() {
1314
return resolve;
@@ -59,4 +60,12 @@ public boolean isCamelCaseFlattenNaming() {
5960
public void setCamelCaseFlattenNaming(boolean camelCaseFlattenNaming) {
6061
this.camelCaseFlattenNaming = camelCaseFlattenNaming;
6162
}
63+
64+
public boolean isAllowEmptyString() {
65+
return allowEmptyStrings;
66+
}
67+
68+
public void setAllowEmptyString(boolean allowEmptyStrings) {
69+
this.allowEmptyStrings = allowEmptyStrings;
70+
}
6271
}

modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/OpenAPIV3Parser.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,10 @@ public SwaggerParseResult readWithInfo(String path, JsonNode node) {
131131
}
132132

133133
public SwaggerParseResult parseJsonNode(String path, JsonNode node) {
134-
return new OpenAPIDeserializer().deserialize(node, path);
134+
return new OpenAPIDeserializer().deserialize(node, path,new ParseOptions());
135+
}
136+
public SwaggerParseResult parseJsonNode(String path, JsonNode node, ParseOptions options) {
137+
return new OpenAPIDeserializer().deserialize(node, path, options);
135138
}
136139

137140
public SwaggerParseResult readContents(String yaml) {
@@ -149,7 +152,12 @@ private SwaggerParseResult readContents(String swaggerAsString, List<Authorizati
149152
try {
150153
final ObjectMapper mapper = getRightMapper(swaggerAsString);
151154
final JsonNode rootNode = mapper.readTree(swaggerAsString);
152-
final SwaggerParseResult result = parseJsonNode(location, rootNode);
155+
final SwaggerParseResult result;
156+
if (options != null) {
157+
result = parseJsonNode(location, rootNode, options);
158+
}else {
159+
result = parseJsonNode(location, rootNode);
160+
}
153161
if (result.getOpenAPI() != null) {
154162
return resolve(result, auth, options, location);
155163
}

0 commit comments

Comments
 (0)