gpt4 book ai didi

java - 通用 ConstraintViolations 集的异常

转载 作者:行者123 更新时间:2023-12-02 04:58:18 27 4
gpt4 key购买 nike

我正在编写一些使用 JSR-303 验证来测试请求对象的服务代码。我想做的是当验证失败时抛出一个自定义的 RuntimeException 包含 SetConstraintViolations .

我的所有请求对象最终都实现相同的接口(interface),我们称之为 Request 。我认为有一个AbstractRequest实现 Request ,然后是 AbstractRequest 的一堆实现,例如MyRequest .

对于异常(exception)情况,我想做的是:

public class RequestViolationException extends RuntimeException {
private Set<ConstraintViolation<? extends Request>> violations;

public <T extends Request> RequestViolationException(Set<ConstraintViolation<T>> newViolations) {
this.violations = newViolations;
}
}

我这样调用它:

Set<ConstraintViolation<MyRequest>> violations = validator.validate(myRequest);
if (violations.size() > 0) {
throw new RequestViolationException(violations);
}

但这不起作用。我尝试了这个主题的一些其他变体,比如让构造函数采用 Set<ConstraintViolation<? extends Request>> ,制作violations一个Set<ContraintViolation<Message>> ,制作violations一个Set<ContraintViolation<Message>> ,将其设置为 HashSet<ContraintViolation<Message>>然后迭代newViolations等等。事实证明,每一个都会产生无数不同的编译器错误。我怎样才能拥有SetContraintViolation<T>哪里<T>Request的一些扩展并能发挥作用吗?

最佳答案

关于java - 通用 ConstraintViolations 集的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28545855/

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