diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java index d204fe4246af..9dca0e0e048e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java @@ -115,6 +115,15 @@ public boolean getHasBodyParam() { return nonEmpty(bodyParams); } + /** + * Check if there's at least one optional body parameter + * + * @return true if optional body parameter exists, false otherwise + */ + public boolean getHasOptionalBodyParam() { + return nonEmpty(bodyParams) && nonEmpty(optionalParams) && bodyParams.stream().anyMatch(optionalParams::contains); + } + /** * Check if there's at least one query parameter * diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoServerCodegen.java index 54b0292fc309..fbec59327245 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoServerCodegen.java @@ -410,6 +410,7 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List