diff --git a/impl/openapi/src/main/java/io/serverlessworkflow/impl/executors/openapi/OperationDefinition.java b/impl/openapi/src/main/java/io/serverlessworkflow/impl/executors/openapi/OperationDefinition.java index d8fa0eece..5b15a20e8 100644 --- a/impl/openapi/src/main/java/io/serverlessworkflow/impl/executors/openapi/OperationDefinition.java +++ b/impl/openapi/src/main/java/io/serverlessworkflow/impl/executors/openapi/OperationDefinition.java @@ -60,7 +60,7 @@ List getParameters() { List paramDefinitions = new ArrayList<>(); if (operation.hasParameters()) { for (UnifiedOpenAPI.Parameter parameter : operation.parameters()) { - if (parameter.in().equals("body")) { + if ("body".equals(parameter.in())) { continue; // body parameters are handled separately } @@ -70,13 +70,14 @@ List getParameters() { } } - if (openAPI.swaggerVersion().equals(UnifiedOpenAPI.SwaggerVersion.SWAGGER_V2)) { + if (openAPI.swaggerVersion() == UnifiedOpenAPI.SwaggerVersion.SWAGGER_V2 + && operation.parameters() != null) { operation.parameters().stream() - .filter(p -> p.in().equals("body")) + .filter(p -> "body".equals(p.in())) .forEach( p -> { UnifiedOpenAPI.Schema schema = p.schema(); - if (schema.hasRef()) { + if (schema != null && schema.hasRef()) { String ref = schema.ref(); schema = openAPI.resolveSchema(ref); } diff --git a/impl/openapi/src/main/java/io/serverlessworkflow/impl/executors/openapi/UnifiedOpenAPI.java b/impl/openapi/src/main/java/io/serverlessworkflow/impl/executors/openapi/UnifiedOpenAPI.java index 01f6c45fc..26ade7a33 100644 --- a/impl/openapi/src/main/java/io/serverlessworkflow/impl/executors/openapi/UnifiedOpenAPI.java +++ b/impl/openapi/src/main/java/io/serverlessworkflow/impl/executors/openapi/UnifiedOpenAPI.java @@ -165,7 +165,7 @@ public boolean hasRequestBody() { } } - public record Parameter(String name, String in, Boolean required, Schema schema) {} + public record Parameter(String name, String in, boolean required, Schema schema) {} public record RequestBody(Content content) {}