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..179874068 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 (parameter.in() != null && "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 -> p.in() != null && "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..cac7f5e53 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,11 @@ 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 Parameter { + required = required != null ? required : Boolean.FALSE; + } + } public record RequestBody(Content content) {}