gpt4 book ai didi

java - JSR 303.验证方法参数并抛出异常

转载 作者:行者123 更新时间:2023-11-30 04:30:08 25 4
gpt4 key购买 nike

如何使用 JSR-303 验证方法参数并在参数无效时抛出异常?

例如这样:public void createUser(@ValidOrThrowException User user) {...}?

现在,我检查方法主体中的每个方法参数,例如

public void createUser(User user) {
ConstraintViolations violations = Validator.validate(user);
if (!violations.isEmpty()) {
throw new IllegalArgumentException(createExceptionMessage(violations ));
}
...//business logic
}

我觉得这很丑。

附注作为引用实现,我使用 Hibernate-validator 4.1.0.Final

最佳答案

如果您可以升级到 Hibernate Validator 4.2.0 或更高版本,则可以使用其 method validation feature ,它提供了对方法参数和返回值验证的支持。

验证引擎可以在使用动态代理、AOP、拦截器等方式调用受约束的方法时自动调用。根据您使用的框架,您可以例如使用以下其中一项:

请注意,截至Bean Validation 1.1 (即将完成)及其引用实现 Hibernate Validator 5,方法验证将成为标准化 Bean Validation API 的一部分。

关于java - JSR 303.验证方法参数并抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14829487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com