diff --git a/modules/swagger-parser-core/src/main/java/io/swagger/v3/parser/core/models/ParseOptions.java b/modules/swagger-parser-core/src/main/java/io/swagger/v3/parser/core/models/ParseOptions.java index adc2ddb308..60a587af3a 100644 --- a/modules/swagger-parser-core/src/main/java/io/swagger/v3/parser/core/models/ParseOptions.java +++ b/modules/swagger-parser-core/src/main/java/io/swagger/v3/parser/core/models/ParseOptions.java @@ -15,7 +15,7 @@ public class ParseOptions { private boolean validateInternalRefs = true; private boolean legacyYamlDeserialization = false; private boolean resolveRequestBody = false; - + private boolean resolveResponses = false; private boolean oaiAuthor; private boolean inferSchemaType = true; private boolean safelyResolveURL; @@ -161,4 +161,12 @@ public List getRemoteRefBlockList() { public void setRemoteRefBlockList(List remoteRefBlockList) { this.remoteRefBlockList = remoteRefBlockList; } + + public boolean isResolveResponses() { + return resolveResponses; + } + + public void setResolveResponses(boolean resolveResponses) { + this.resolveResponses = resolveResponses; + } } diff --git a/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/processors/OperationProcessor.java b/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/processors/OperationProcessor.java index 2662e3ca30..3a73be51db 100644 --- a/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/processors/OperationProcessor.java +++ b/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/processors/OperationProcessor.java @@ -71,7 +71,7 @@ public void processOperation(Operation operation) { ApiResponse response = responses.get(responseCode); if(response != null) { //This part allows parser to put response inline without the resolveFully option set to true - if (response.get$ref() != null) { + if (response.get$ref() != null && cache != null && cache.getParseOptions() != null && cache.getParseOptions().isResolveResponses()) { responseProcessor.processResponse(response);