diff --git a/docs/generators/go-server.md b/docs/generators/go-server.md index 7eecfc75a0b..15d77101523 100644 --- a/docs/generators/go-server.md +++ b/docs/generators/go-server.md @@ -11,6 +11,7 @@ sidebar_label: go-server |packageVersion|Go package version.| |1.0.0| |serverPort|The network port the generated server binds to| |8080| |sourceFolder|source folder for generated code| |go| +|enumClassPrefix|Prefix enum with class name| |false| ## IMPORT MAPPING 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 e1304212549..62bb6a67e9b 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 @@ -104,7 +104,7 @@ public class GoServerCodegen extends AbstractGoCodegen { /* * Service templates. You can write services for each Api file with the apiTemplateFiles map. - These services are skeletons built to implement the logic of your api using the + These services are skeletons built to implement the logic of your api using the expected parameters and response. */ apiTemplateFiles.put( @@ -185,6 +185,13 @@ public class GoServerCodegen extends AbstractGoCodegen { additionalProperties.put("featureCORS", corsFeatureEnabled); } + if (additionalProperties.containsKey(CodegenConstants.ENUM_CLASS_PREFIX)) { + setEnumClassPrefix(Boolean.parseBoolean(additionalProperties.get(CodegenConstants.ENUM_CLASS_PREFIX).toString())); + if (enumClassPrefix) { + additionalProperties.put(CodegenConstants.ENUM_CLASS_PREFIX, true); + } + } + modelPackage = packageName; apiPackage = packageName; diff --git a/modules/openapi-generator/src/main/resources/go-server/model.mustache b/modules/openapi-generator/src/main/resources/go-server/model.mustache index b6ae9ba9f34..3b5b5345a5a 100644 --- a/modules/openapi-generator/src/main/resources/go-server/model.mustache +++ b/modules/openapi-generator/src/main/resources/go-server/model.mustache @@ -11,7 +11,7 @@ type {{{name}}} {{^format}}{{dataType}}{{/format}}{{#format}}{{{format}}}{{/form const ( {{#allowableValues}} {{#enumVars}} - {{name}} {{{classname}}} = {{{value}}} + {{#enumClassPrefix}}{{{classname.toUpperCase}}}_{{/enumClassPrefix}}{{name}} {{{classname}}} = {{{value}}} {{/enumVars}} {{/allowableValues}} ){{/isEnum}}{{^isEnum}}{{#description}}