diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java index f9bbb5c00c7..c9f45740d3a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java @@ -387,10 +387,29 @@ public class GoClientCodegen extends AbstractGoCodegen { } } + /** + * Determines if at least one of the allOf pieces of a schema are of type string + * + * @param p + * @return + */ + private boolean isAllOfStringSchema(Schema schema) { + if (schema.getAllOf() != null) { + Iterator it = schema.getAllOf().iterator(); + while (it.hasNext()) { + Schema childSchema = ModelUtils.getReferencedSchema(this.openAPI, it.next()); + if (ModelUtils.isStringSchema(childSchema)) { + return true; + } + } + } + return false; + } + @Override public String toDefaultValue(Schema p) { p = ModelUtils.getReferencedSchema(this.openAPI, p); - if (ModelUtils.isStringSchema(p)) { + if (ModelUtils.isStringSchema(p) || isAllOfStringSchema(p)) { Object defaultObj = p.getDefault(); if (defaultObj != null) { if (defaultObj instanceof java.lang.String) {