如何在Json转Object时校验对象的属性是否符合规则

发布于 2022-09-05 06:03:15 字数 395 浏览 30 评论 0

如何在json转Object时校验对象的属性是否符合规则
比如对象中的id不能为空,name长度限制什么的。

想通过Spring Validator的注解实现,但好像不行。

clipboard.png

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

深海里的那抹蓝 2022-09-12 06:03:15

感谢各位提供思路,已经找到解决方法了。
http://ifeve.com/use-bean-val...

/**
     * 验证某个bean的参数
     * 
     * @param object 被校验的参数
     * @throws ValidationException 如果参数校验不成功则抛出此异常
     */
    public static <T> void validate(T object) {
        //获得验证器
        Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
        //执行验证
        Set<ConstraintViolation<T>> constraintViolations = validator.validate(object);
        //如果有验证信息,则将第一个取出来包装成异常返回
        ConstraintViolation<T> constraintViolation = getFirst(constraintViolations, null);
        if (constraintViolation != null) {
            System.out.println(constraintViolation.getPropertyPath());
            System.out.println(constraintViolation.getConstraintDescriptor().getAnnotation().annotationType());
            System.out.println(constraintViolation.getMessage());
        }
    }
┾廆蒐ゝ 2022-09-12 06:03:15

可以在controller接收参数是时用public Result m(@valid Demo demo,){}这样验证。另外这是一整套的,如果单纯拿出来做,需要手动创建一个validator

小情绪 2022-09-12 06:03:15

你尝试下在生成的类属性的get set方法中 添加逻辑代码,出错直接 throw 抛错 试一试
不过其实你完全可以生成完在判断,似乎没什么区别

书信已泛黄 2022-09-12 06:03:15

搜一下,json-shemale

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文