jsonschema2pojo-maven-plugin 未正确生成枚举

Posted

技术标签:

【中文标题】jsonschema2pojo-maven-plugin 未正确生成枚举【英文标题】:Enum not getting generated correctly by jsonschema2pojo-maven-plugin 【发布时间】:2020-11-05 10:17:39 【问题描述】:

我在请求的 json 架构中有以下字段:

                    "orderType": 
                        "type": "string",
                        "description": "The orderType indicator.",
                        "enum": [
                            "-1",
                            "0"
                        ]
                    ,

我使用 jsonschema2pojo-maven-plugin 来使用这个 json schmea 生成 java 类。 这会正确生成 java pojo,在其中正确添加了这个枚举,看起来像这样:

public enum OrderType

        _1("-1"),
        _0("0")
...

现在根据新要求,我要向它添加一个新的枚举值“1”,这是一个新的 OrderType,架构看起来就像这样:

                "orderType": 
                    "type": "string",
                    "description": "The orderType indicator.",
                    "enum": [
                        "-1",
                        "0",
                        "1"
                    ]
                ,

jsonschema2pojo-maven-plugin 出于某种原因不喜欢这个,它会生成以下有错误的枚举:

 public enum orderType 

        _1("-1", "1"),
        _0("0");

这是 jsonschema2pojo-maven-plugin 中的错误还是我需要配置一些东西?

【问题讨论】:

如何生成带有下划线的枚举值 【参考方案1】:

浏览了 jsonschema2pojo-maven-plugin 的文档:

https://github.com/joelittlejohn/jsonschema2pojo/wiki/Reference#javaenumnames

这解决了问题,因为我可以提供自定义枚举名称。

【讨论】:

以上是关于jsonschema2pojo-maven-plugin 未正确生成枚举的主要内容,如果未能解决你的问题,请参考以下文章