Skip to content
This repository was archived by the owner on Nov 24, 2022. It is now read-only.

Commit fce909d

Browse files
committed
1 parent c5404fd commit fce909d

6 files changed

Lines changed: 66 additions & 1 deletion

File tree

modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/processors/ParameterProcessor.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33

44
import io.swagger.v3.oas.models.examples.Example;
5+
import io.swagger.v3.oas.models.media.Content;
56
import io.swagger.v3.oas.models.media.MediaType;
67
import io.swagger.v3.oas.models.media.Schema;
78
import io.swagger.v3.oas.models.parameters.Parameter;
@@ -142,6 +143,23 @@ public List<Parameter> processParameters(List<Parameter> parameters) {
142143
Schema schema = parameter.getSchema();
143144
if(schema != null){
144145
schemaProcessor.processSchema(schema);
146+
}else if(parameter.getContent() != null){
147+
Map<String,MediaType> content = parameter.getContent();
148+
for( String mediaName : content.keySet()) {
149+
MediaType mediaType = content.get(mediaName);
150+
if(mediaType.getSchema()!= null) {
151+
schema = mediaType.getSchema();
152+
if (schema != null) {
153+
schemaProcessor.processSchema(schema);
154+
}
155+
}
156+
if(mediaType.getExamples() != null) {
157+
for(Example ex: mediaType.getExamples().values()){
158+
exampleProcessor.processExample(ex);
159+
}
160+
}
161+
}
162+
145163
}
146164
}
147165

modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/processors/PathsProcessor.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ public void processPaths() {
7575
final List<Parameter> processedPathParameters = parameterProcessor.processParameters(pathItem.getParameters());
7676
pathItem.setParameters(processedPathParameters);
7777

78-
//addParametersToEachOperation(pathItem);
7978

8079
final Map<PathItem.HttpMethod, Operation> operationMap = pathItem.readOperationsMap();
8180

modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/processors/ParameterProcessorTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ public void testProcessParameters_RefToHeader(
8888
expectLoadingRefFromCache(ref, RefFormat.INTERNAL, resolvedHeaderParam);
8989
new Expectations() {
9090
{
91+
9192
resolvedHeaderParam.getSchema();
93+
94+
9295
result = null;
9396
}
9497
};

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+
@Test
69+
public void testRemoteParameterIssue1094(@Injectable final List<AuthorizationValue> auths) throws Exception{
70+
71+
OpenAPI result = new OpenAPIV3Parser().read("issue-1094/swagger.yaml");
72+
Assert.assertNotNull(result);
73+
Assert.assertNotNull(result.getComponents().getSchemas().get("PlmnId"));
74+
75+
}
76+
6877
@Test
6978
public void testIssue1071() {
7079

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
openapi: "3.0.0"
2+
info:
3+
version: 15.3.0
4+
title: "Common Data Types"
5+
paths: {}
6+
components:
7+
schemas:
8+
PlmnId:
9+
type: object
10+
properties:
11+
mcc:
12+
type: string
13+
mnc:
14+
type: string
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: 15.3.0
4+
title: test
5+
paths:
6+
/my-app:
7+
get:
8+
parameters:
9+
- name: target-plmn-list
10+
in: query
11+
content:
12+
application/json:
13+
schema:
14+
type: array
15+
items:
16+
$ref: 'common.yaml#/components/schemas/PlmnId'
17+
minItems: 1
18+
responses:
19+
'200':
20+
description: Expected response to a valid request
21+
schema:
22+
type: string

0 commit comments

Comments
 (0)