From e9f55c0dd985ec8469756b5a7442acd907dcec7f Mon Sep 17 00:00:00 2001 From: Justin Sherrill Date: Fri, 17 Feb 2023 22:07:09 -0500 Subject: [PATCH] [Bug][Go] consider allOf schemas for rendering string default vaules (#14684) --- .../codegen/languages/GoClientCodegen.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) 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) {