Wildfly 21 – 如何为 Bean Validation 异常自定义 returns

Wildfly 21 – how to customize returns for Bean Validation exceptions

我尝试过以多种方式注册自定义异常映射器:

@Provider
public class ConstraintViolationMapper implements ExceptionMapper<ConstraintViolationException> {
    @Override
    public Response toResponse(ConstraintViolationException exception) {
        ...
    }
}

@Provider
public class ConstraintViolationMapper implements ExceptionMapper<ResteasyViolationException> {
    @Override
    public Response toResponse(ResteasyViolationException exception) {
        ...
    }
}

@Provider
public class ConstraintViolationMapper implements ExceptionMapper<ValidationException> {
    @Override
    public Response toResponse(ValidationException exception) {
        ...
    }
}

但所有发生的都是 ResteasyViolationExceptionMapper 的默认行为。我的自定义 ExceptionMapper 从未被调用。我不知道还能尝试什么。

我不知道为什么第一次尝试时它不起作用,但是这个有效

@Provider
public class ConstraintViolationMapper implements ExceptionMapper<ValidationException> {
    @Override
    public Response toResponse(ValidationException exception) {
        ...
    }
}