Skip to content
GitLab
    • Explore Projects Groups Snippets
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Merge requests
  • !1064

Use the string representation for serializing enum values with Jackson

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/jfacorro/enum-json-representation-from-value into master 6 years ago
  • Overview 0
  • Commits 1
  • Pipelines 0
  • Changes 22

Created by: jfacorro

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh and ./bin/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.3.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

Description of the PR

The current serialization of enums when using Jackson is always generating uppercase values. This violates what's in the spec for the cases when the different enum values contain lower case letters.

The only significant change is in the modelEnum.mustache file, all other changes are the result of running the bin/java-jaxrs-petstore-server-all.sh script (except for the bump in version for Jackson from 2.8.9 to 2.9.0).

Compare
  • master (base)

and
  • latest version
    eadd8874
    1 commit, 2 years ago

22 files
+ 56
- 10

    Preferences

    File browser
    Compare changes
modules/…/…/‎…/…/JavaJaxRS‎
c‎xf‎
enumOuterCl‎ass.mustache‎ +4 -5
rest‎easy‎
e‎ap‎
enumClass‎.mustache‎ +2 -0
enumClass‎.mustache‎ +2 -0
sp‎ec‎
enumClass‎.mustache‎ +4 -0
enumOuterCl‎ass.mustache‎ +4 -0
pojo.m‎ustache‎ +4 -0
enumClass‎.mustache‎ +4 -0
enumOuterCl‎ass.mustache‎ +5 -0
modelEnum‎.mustache‎ +6 -2
samples/ser‎ver/petstore‎
ja‎xrs‎
jersey1-useTags/‎src/…/…/…/…/model‎
EnumCla‎ss.java‎ +2 -0
OuterEn‎um.java‎ +2 -0
jersey1/src/gen/…/…‎/openapitools/model‎
EnumCla‎ss.java‎ +2 -0
OuterEn‎um.java‎ +2 -0
jersey2-useTags/‎src/…/…/…/…/model‎
EnumCla‎ss.java‎ +2 -0
OuterEn‎um.java‎ +2 -0
jersey2/src/gen/…/…‎/openapitools/model‎
EnumCla‎ss.java‎ +2 -0
OuterEn‎um.java‎ +2 -0
jaxrs-cxf/src/…/…/…‎/openapitools/model‎
EnumCla‎ss.java‎ +0 -1
OuterEn‎um.java‎ +0 -1
jaxrs-datelib-j8/‎src/…/…/…/…/model‎
EnumCla‎ss.java‎ +2 -0
OuterEn‎um.java‎ +2 -0
jaxrs‎-spec‎
pom‎.xml‎ +1 -1
modules/openapi-generator/src/main/resources/JavaJaxRS/cxf/enumOuterClass.mustache
+ 4
- 5
  • View file @ eadd8874


@@ -26,16 +26,15 @@ public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum
}
@Override
{{#jackson}}
{{#jackson}}
@JsonValue
{{/jackson}}
{{/jackson}}
public String toString() {
return String.valueOf(value);
}
{{#jackson}}
{{#jackson}}
@JsonCreator
{{/jackson}}
public static {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue(String text) {
for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
if (String.valueOf(b.value).equals(text)) {
@@ -44,5 +43,5 @@ public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum
}
{{#useNullForUnknownEnumValue}}return null;{{/useNullForUnknownEnumValue}}{{^useNullForUnknownEnumValue}}throw new IllegalArgumentException("Unexpected value '" + text + "'");{{/useNullForUnknownEnumValue}}
}
{{/jackson}}
}
modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/eap/enumClass.mustache
+ 2
- 0
  • View file @ eadd8874


@@ -17,7 +17,9 @@
}
@Override
{{#jackson}}
@JsonValue
{{/jackson}}
public String toString() {
return String.valueOf(value);
}
modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/enumClass.mustache
+ 2
- 0
  • View file @ eadd8874


@@ -17,7 +17,9 @@
}
@Override
{{#jackson}}
@JsonValue
{{/jackson}}
public String toString() {
return String.valueOf(value);
}
modules/openapi-generator/src/main/resources/JavaJaxRS/spec/enumClass.mustache
+ 4
- 0
  • View file @ eadd8874


@@ -16,11 +16,14 @@ public enum {{datatypeWithEnum}} {
}
@Override
{{#jackson}}
@JsonValue
{{/jackson}}
public String toString() {
return String.valueOf(value);
}
{{#jackson}}
@JsonCreator
public static {{datatypeWithEnum}} fromValue(String v) {
for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
@@ -30,4 +33,5 @@ public enum {{datatypeWithEnum}} {
}
{{#useNullForUnknownEnumValue}}return null;{{/useNullForUnknownEnumValue}}{{^useNullForUnknownEnumValue}}throw new IllegalArgumentException("Unexpected value '" + v + "'");{{/useNullForUnknownEnumValue}}
}
{{/jackson}}
}
modules/openapi-generator/src/main/resources/JavaJaxRS/spec/enumOuterClass.mustache
+ 4
- 0
  • View file @ eadd8874


@@ -26,11 +26,14 @@ public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum
}
@Override
{{#jackson}}
@JsonValue
{{/jackson}}
public String toString() {
return String.valueOf(value);
}
{{#jackson}}
@JsonCreator
public static {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue(String text) {
for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
@@ -40,4 +43,5 @@ public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum
}
{{#useNullForUnknownEnumValue}}return null;{{/useNullForUnknownEnumValue}}{{^useNullForUnknownEnumValue}}throw new IllegalArgumentException("Unexpected value '" + text + "'");{{/useNullForUnknownEnumValue}}
}
{{/jackson}}
}
0 Assignees
None
Assign to
0 Reviewers
None
Request review from
Labels
2
Enhancement: General Server: Go
2
Enhancement: General Server: Go
    Assign labels
  • Manage project labels

Milestone
5.3.0
5.3.0 (expired)
None
Time tracking
No estimate or time spent
Lock merge request
Unlocked
0
0 participants
Reference: OpenAPITools/openapi-generator!10243
Source branch: github/fork/jfacorro/enum-json-representation-from-value

Menu

Explore Projects Groups Snippets