minLength、maxLength 边界如何应用于生成的 Java Pojo 类?

我想知道,JSON 模式中提供的边界如何转换为 java POJO 类?


例如,下面是definitions.json 文件内容 -


{

"definitions": {


    "address": {

        "type": "object",

        "properties": {

            "street": { "type": "string", "minLength" : 30, "maxLength" : 100 },

            "city": { "type": "string", "minLength" : 30, "maxLength" : 100 },

            "state": { "type": "string", "minLength" : 30, "maxLength" : 100  }

        }

}


}

}

现在,我们没有看到 pojo 类中任何地方实现 minLength 和 maxLength 边界。


我的问题是,转换为 java pojo 时边界是否被忽略?有什么方法可以将这些界限计入 pojo 类吗?


此外,JSON 模式定义可以使用模式来验证节点的值,例如 -


    {

    "type": "object",

    "properties": {

        "name": {

        "type": "string",

        "pattern": "^[xX]?[0-9a-fA-F]{32}$"

        },

        "address": { "$ref": "definations.json#/definitions/address" }


    }

}

转换为 java pojo 类时模式是否会被忽略?有什么方法可以将这些模式计入 Java POJO 类中吗?


拉莫斯之舞
浏览 79回答 1
1回答

qq_笑_17

minLength/maxLength 的值应该用双引号引起来。有关默认值, 请参阅文档中提供的示例: { "type":"integer", "default":"100"}对于模式情况,检查 Maven 插件、CLI 和 Ant 任务的可用性,这些任务允许通过配置参数激活 JSR-303 注释。激活后,将生成以下 JSR-303 注释:Schema 规则 注解 最大值 @DecimalMax 最小值 @DecimalMin minItems,maxItems @Size minLength,maxLength @Size pattern @Pattern ...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java