Skip to content

Commit e5dadac

Browse files
authored
Merge pull request #1376 from mih-kopylov/bug/1375-empty-blank-parameter-example
Fix for issue #1375
2 parents d0ad044 + ebe8b2a commit e5dadac

File tree

5 files changed

+50
-5
lines changed

5 files changed

+50
-5
lines changed

modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/util/OpenAPIDeserializer.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1727,10 +1727,7 @@ public Object getAnyExample(String nodeKey,ObjectNode node, String location, Par
17271727
JsonNode example = node.get(nodeKey);
17281728
if (example != null) {
17291729
if (example.getNodeType().equals(JsonNodeType.STRING)) {
1730-
String value = getString(nodeKey, node, false, location, result);
1731-
if (StringUtils.isNotBlank(value)) {
1732-
return value;
1733-
}
1730+
return getString(nodeKey, node, false, location, result);
17341731
} if (example.getNodeType().equals(JsonNodeType.NUMBER)) {
17351732
Integer integerExample = getInteger(nodeKey, node, false, location, result);
17361733
if (integerExample != null) {

modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/OpenAPIV3ParserTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2326,6 +2326,26 @@ public void testIssue1335() {
23262326
assertNotNull(result.getOpenAPI().getComponents().getExamples().get("ex1"));
23272327
}
23282328

2329+
@Test
2330+
public void testEmptyQueryParameterExample() {
2331+
final ParseOptions options = new ParseOptions();
2332+
options.setResolve(true);
2333+
2334+
SwaggerParseResult result = new OpenAPIV3Parser()
2335+
.readLocation("src/test/resources/emptyQueryParameter.yaml", null, options);
2336+
assertEquals("", result.getOpenAPI().getPaths().get("/foo").getGet().getParameters().get(0).getExample());
2337+
}
2338+
2339+
@Test
2340+
public void testBlankQueryParameterExample() {
2341+
final ParseOptions options = new ParseOptions();
2342+
options.setResolve(true);
2343+
2344+
SwaggerParseResult result = new OpenAPIV3Parser()
2345+
.readLocation("src/test/resources/blankQueryParameter.yaml", null, options);
2346+
assertEquals(" ", result.getOpenAPI().getPaths().get("/foo").getGet().getParameters().get(0).getExample());
2347+
}
2348+
23292349
@Test
23302350
public void testRegressionIssue1236() {
23312351
final ParseOptions options = new ParseOptions();

modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/util/OpenAPIDeserializerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2384,7 +2384,7 @@ public void readContentObject(JsonNode rootNode) throws Exception {
23842384
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getContent().get("text/plain").getExamples().get("list").getSummary(),"List of names");
23852385
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getContent().get("text/plain").getExamples().get("list").getValue(),"Bob,Diane,Mary,Bill");
23862386
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getContent().get("text/plain").getExamples().get("empty").getSummary(),"Empty");
2387-
Assert.assertNull(petByStatusEndpoint.getGet().getParameters().get(0).getContent().get("text/plain").getExamples().get("empty").getValue());
2387+
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getContent().get("text/plain").getExamples().get("empty").getValue(),"");
23882388

23892389
PathItem petEndpoint = paths.get("/pet");
23902390
Assert.assertNotNull(petEndpoint.getPut());
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
openapi: 3.0.2
2+
info:
3+
title: Example references
4+
version: 1.0.0
5+
paths:
6+
/foo:
7+
get:
8+
parameters:
9+
- name: paramName
10+
in: query
11+
example: " "
12+
responses:
13+
'200':
14+
description: success
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
openapi: 3.0.2
2+
info:
3+
title: Example references
4+
version: 1.0.0
5+
paths:
6+
/foo:
7+
get:
8+
parameters:
9+
- name: paramName
10+
in: query
11+
example: ""
12+
responses:
13+
'200':
14+
description: success

0 commit comments

Comments
 (0)