diff --git a/ru.akpaev.dt.openapi/bin/ru/akpaev/dt/openapi/HttpServiceUtil.class b/ru.akpaev.dt.openapi/bin/ru/akpaev/dt/openapi/HttpServiceUtil.class index ec45d92..f49cd2b 100644 Binary files a/ru.akpaev.dt.openapi/bin/ru/akpaev/dt/openapi/HttpServiceUtil.class and b/ru.akpaev.dt.openapi/bin/ru/akpaev/dt/openapi/HttpServiceUtil.class differ diff --git a/ru.akpaev.dt.openapi/bin/ru/akpaev/dt/openapi/models/OpenApiRoot.class b/ru.akpaev.dt.openapi/bin/ru/akpaev/dt/openapi/models/OpenApiRoot.class index 5efc5bf..172d01c 100644 Binary files a/ru.akpaev.dt.openapi/bin/ru/akpaev/dt/openapi/models/OpenApiRoot.class and b/ru.akpaev.dt.openapi/bin/ru/akpaev/dt/openapi/models/OpenApiRoot.class differ diff --git a/ru.akpaev.dt.openapi/src/ru/akpaev/dt/openapi/HttpServiceUtil.java b/ru.akpaev.dt.openapi/src/ru/akpaev/dt/openapi/HttpServiceUtil.java index 0f12033..9c5b633 100644 --- a/ru.akpaev.dt.openapi/src/ru/akpaev/dt/openapi/HttpServiceUtil.java +++ b/ru.akpaev.dt.openapi/src/ru/akpaev/dt/openapi/HttpServiceUtil.java @@ -85,7 +85,7 @@ public class HttpServiceUtil var methodParameters = method.getParameters(); var templateHasParameters = templateParameters != null && templateParameters.size() > 0; - var methodHasParameters = templateParameters != null && templateParameters.size() > 0; + var methodHasParameters = methodParameters != null && methodParameters.size() > 0; var hasParameters = templateHasParameters && methodHasParameters; if (hasParameters) @@ -116,8 +116,12 @@ public class HttpServiceUtil for (var openApiParameter : parameters) { + var parameter = openApiParameter; + if (parameter.isRef()) + parameter = root.resolveReference(openApiParameter.getRef(), openApiParameter.getClass()); + var paramTemplateContent = ""; //$NON-NLS-1$ - var in = openApiParameter.getIn(); + var in = parameter.getIn(); switch (in) { case "path": //$NON-NLS-1$ @@ -132,14 +136,7 @@ public class HttpServiceUtil if (paramTemplateContent.length() > 0) { var paramTemplate = new StringTemplate(paramTemplateContent); - - if (openApiParameter.isRef()) - { - var value = root.resolveReference(openApiParameter.getRef(), openApiParameter.getClass()); - paramTemplate.setAttribute("PARAM_NAME", value.getName()); //$NON-NLS-1$ - } - else - paramTemplate.setAttribute("PARAM_NAME", openApiParameter.getName()); //$NON-NLS-1$ + paramTemplate.setAttribute("PARAM_NAME", parameter.getName()); //$NON-NLS-1$ builder.append(paramTemplate.toString()); builder.append(System.lineSeparator()); diff --git a/ru.akpaev.dt.openapi/src/ru/akpaev/dt/openapi/models/OpenApiRoot.java b/ru.akpaev.dt.openapi/src/ru/akpaev/dt/openapi/models/OpenApiRoot.java index e2b9164..92440b5 100644 --- a/ru.akpaev.dt.openapi/src/ru/akpaev/dt/openapi/models/OpenApiRoot.java +++ b/ru.akpaev.dt.openapi/src/ru/akpaev/dt/openapi/models/OpenApiRoot.java @@ -100,7 +100,7 @@ public class OpenApiRoot var nodeText = node.toPrettyString(); T value = mapper.readValue(nodeText, type); if (value.isRef()) - return resolveReference(ref, type); + return resolveReference(value.getRef(), type); else return value; }