gpt4 book ai didi

java - 与 Spring 一起进行 bean 验证

转载 作者:行者123 更新时间:2023-12-02 06:13:26 26 4
gpt4 key购买 nike

Tomcat应用程序,我使用Spring进行依赖注入(inject)。我还使用 Jersey 进行休息调用,现在我需要进行一些 bean 验证。我发现如果我使用 Spring MVC @RequestMapping 进行休息调用,很容易做到这一点。但同时使用 Jersey 和 hibernate validator ,事情变得很糟糕。

@POST
@Path("/addSomething")
public void addSomething(Something something) {

Set<ConstraintViolation<Something>> violations = validator.validate(something);
if(violations.size()>0){
throw new BadRequestException("illegal input");
}

..
}

这可行,但我需要对每个帖子请求重复此操作。这很丑。

这里有没有一种方法可以巧妙地处理 Bean 验证?

最佳答案

使用约束组怎么样 XD。

public void validateEntity(final Object object, final Class<? extends Default>... classes)
throws IllegalArgumentException {
final Set<ConstraintViolation<Object>> errors = validator.validate(object, classes);
if (!errors.isEmpty()) {
throw new IllegalArgumentException(returnErrors(errors));
}
}


public String returnErrors(final Set<ConstraintViolation<Object>> errors) {
final StringBuilder builder = new StringBuilder();
for (final ConstraintViolation<Object> error : errors) {
builder.append(error.getMessage());
}
return builder.toString();
}

关于java - 与 Spring 一起进行 bean 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21679153/

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