From 0204ba2f78dd442150d274779f679ca22a9e7051 Mon Sep 17 00:00:00 2001 From: ludovicianul Date: Mon, 12 Aug 2024 21:33:22 +0300 Subject: [PATCH 1/2] Issue #2116. Fix cross-path reference parameter ref resolve --- .../io/swagger/v3/parser/processors/ParameterProcessor.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/processors/ParameterProcessor.java b/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/processors/ParameterProcessor.java index 100846e7c2..e0f019fc02 100644 --- a/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/processors/ParameterProcessor.java +++ b/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/processors/ParameterProcessor.java @@ -87,6 +87,12 @@ public List processParameters(List parameters) { if (parameter.get$ref() != null) { RefFormat refFormat = computeRefFormat(parameter.get$ref()); final Parameter resolvedParameter = cache.loadRef(parameter.get$ref(), refFormat, Parameter.class); + + if (parameter.get$ref().startsWith("#/paths")) { + processedPathLevelParameters.add(parameter); + continue; + } + if (parameter.get$ref().startsWith("#") && parameter.get$ref().indexOf("#/components/parameters") <= -1) { //TODO: Not possible to add warning during resolve doesn't accept result as an input. Hence commented below line. //result.warning(location, "The parameter should use Reference Object to link to parameters that are defined at the OpenAPI Object's components/parameters."); From 698b337f32756c03a0892a4a3f50a3bc399713a9 Mon Sep 17 00:00:00 2001 From: ludovicianul Date: Mon, 12 Aug 2024 22:16:55 +0300 Subject: [PATCH 2/2] Issue #2117. Fix issue with assigning empty model name when title empty for inline schema --- .../java/io/swagger/v3/parser/util/InlineModelResolver.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/util/InlineModelResolver.java b/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/util/InlineModelResolver.java index 6cfd900161..4bafc43264 100644 --- a/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/util/InlineModelResolver.java +++ b/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/util/InlineModelResolver.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Map; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -416,7 +417,7 @@ private static String normalize(String pathPart) } private String resolveModelName(String title, String key) { - if (title == null) { + if (StringUtils.isBlank(title)) { return uniqueName(key); } else { return uniqueName(title);