Skip to content

Commit ead8af7

Browse files
gracekarinafrantuma
authored andcommitted
oas 3.1 - adding sibling for pathItem,response,parameter,example,requestBody,Header,SecurityScheme,Link
1 parent 870bbb5 commit ead8af7

File tree

1 file changed

+44
-1
lines changed

1 file changed

+44
-1
lines changed

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

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1513,7 +1513,12 @@ public Link getLink(ObjectNode linkNode, String location, ParseResult result) {
15131513
} else {
15141514
link.set$ref(ref.textValue());
15151515
}
1516-
1516+
if (result.isOpenapi31()) {
1517+
String desc = getString("description", linkNode, false, location, result);
1518+
if (StringUtils.isNotBlank(desc)) {
1519+
link.setDescription(desc);
1520+
}
1521+
}
15171522
return link;
15181523
} else {
15191524
result.invalidType(location, "$ref", "string", linkNode);
@@ -2088,6 +2093,12 @@ public Header getHeader(ObjectNode headerNode, String location, ParseResult resu
20882093
} else {
20892094
header.set$ref(ref.textValue());
20902095
}
2096+
if (result.isOpenapi31()) {
2097+
String desc = getString("description", headerNode, false, location, result);
2098+
if (StringUtils.isNotBlank(desc)) {
2099+
header.setDescription(desc);
2100+
}
2101+
}
20912102
return header;
20922103
} else {
20932104
result.invalidType(location, "$ref", "string", headerNode);
@@ -2162,6 +2173,7 @@ public Header getHeader(ObjectNode headerNode, String location, ParseResult resu
21622173

21632174

21642175
public Object getAnyExample(String nodeKey, ObjectNode node, String location, ParseResult result) {
2176+
//TODO: Examples now allows Ref
21652177
JsonNode example = node.get(nodeKey);
21662178
if (example != null) {
21672179
if (example.getNodeType().equals(JsonNodeType.STRING)) {
@@ -2246,6 +2258,12 @@ public SecurityScheme getSecurityScheme(ObjectNode node, String location, ParseR
22462258
} else {
22472259
securityScheme.set$ref(ref.textValue());
22482260
}
2261+
if (result.isOpenapi31()) {
2262+
String desc = getString("description", node, false, location, result);
2263+
if (StringUtils.isNotBlank(desc)) {
2264+
securityScheme.setDescription(desc);
2265+
}
2266+
}
22492267
return securityScheme;
22502268
} else {
22512269
result.invalidType(location, "$ref", "string", node);
@@ -3119,6 +3137,18 @@ public Example getExample(ObjectNode node, String location, ParseResult result)
31193137
} else {
31203138
example.set$ref(ref.textValue());
31213139
}
3140+
if (result.isOpenapi31()) {
3141+
String desc = getString("summary", node, false, location, result);
3142+
if (StringUtils.isNotBlank(desc)) {
3143+
example.setSummary(desc);
3144+
}
3145+
}
3146+
if (result.isOpenapi31()) {
3147+
String desc = getString("description", node, false, location, result);
3148+
if (StringUtils.isNotBlank(desc)) {
3149+
example.setDescription(desc);
3150+
}
3151+
}
31223152
return example;
31233153
} else {
31243154
result.invalidType(location, "$ref", "string", node);
@@ -3248,6 +3278,13 @@ public ApiResponse getResponse(ObjectNode node, String location, ParseResult res
32483278
} else {
32493279
apiResponse.set$ref(ref.textValue());
32503280
}
3281+
if(result.isOpenapi31()){
3282+
String value = getString("summary", node, false, location, result);
3283+
value = getString("description", node, false, location, result);
3284+
if (StringUtils.isNotBlank(value)) {
3285+
apiResponse.setDescription(value);
3286+
}
3287+
}
32513288
return apiResponse;
32523289
} else {
32533290
result.invalidType(location, "$ref", "string", node);
@@ -3495,6 +3532,12 @@ public RequestBody getRequestBody(ObjectNode node, String location, ParseResult
34953532
} else {
34963533
body.set$ref(ref.textValue());
34973534
}
3535+
if (result.isOpenapi31()) {
3536+
String desc = getString("description", node, false, location, result);
3537+
if (StringUtils.isNotBlank(desc)) {
3538+
body.setDescription(desc);
3539+
}
3540+
}
34983541
return body;
34993542
} else {
35003543
result.invalidType(location, "$ref", "string", node);

0 commit comments

Comments
 (0)