Skip to content

Commit 2d74be9

Browse files
authored
Merge pull request #1110 from swagger-api/issue#1108
fix for Parameter.allowReserved is always null - issue #1108
2 parents c94eadc + 4fa3afb commit 2d74be9

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1568,6 +1568,11 @@ public Parameter getParameter(ObjectNode obj, String location, ParseResult resul
15681568
parameter.setExample(example);
15691569
}
15701570

1571+
Boolean allowReserved = getBoolean("allowReserved", obj, false, location, result);
1572+
if (allowReserved != null) {
1573+
parameter.setAllowReserved(allowReserved);
1574+
}
1575+
15711576
ObjectNode contentNode = getObject("content",obj,false,location,result);
15721577
if(contentNode!= null) {
15731578
parameter.setContent(getContent(contentNode, String.format("%s.%s", location, "content"), result));

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,15 @@ public class OpenAPIV3ParserTest {
6565
protected int serverPort = getDynamicPort();
6666
protected WireMockServer wireMockServer;
6767

68+
69+
@Test
70+
public void testIssue1108() {
71+
OpenAPIV3Parser parser = new OpenAPIV3Parser();
72+
OpenAPI openAPI = parser.read("issue-1108.yaml");
73+
assertNotNull(openAPI);
74+
assertNotNull(openAPI.getPaths().get("/pets").getGet().getParameters().get(0).getAllowReserved());
75+
}
76+
6877
@Test
6978
public void testRemoteParameterIssue1094(@Injectable final List<AuthorizationValue> auths) throws Exception{
7079

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
openapi: "3.0.0"
2+
info:
3+
version: 1.0.0
4+
title: Swagger petstore
5+
license:
6+
name: MIT
7+
servers:
8+
- url: http://petstore.swagger.io/v1
9+
paths:
10+
/pets:
11+
get:
12+
summary: List all pets
13+
operationId: listpets
14+
tags:
15+
- pets
16+
parameters:
17+
- name: limit
18+
in: query
19+
allowReserved: false
20+
responses:
21+
'200':
22+
description: A paged array of pets

0 commit comments

Comments
 (0)