在我的一个项目中,我已经将 Jersey 从 version 升级2.14
到2.23
. 但我在一个问题上苦苦挣扎了好几个小时。我的项目为 a 定义了自己ExceptionMapper
的ValidationException
,但不幸的是,Jersey 已经为此异常提供了一个内置的异常映射器,我无法覆盖它。
我已经正确注册(我检查了)我自己的映射器,如下所示:
@Provider
public class ValidationExceptionMapper implements
ExceptionMapper<ValidationException> {
@Override
public Response toResponse(ValidationException exception) {
return Response.status(Status.BAD_REQUEST).build();
}
}
但它永远不会被调用。泽西总是捡来的org.glassfish.jersey.server.validation.internal.ValidationExceptionMapper
。我也尝试 @Priority
为我的自定义映射器使用注释,但不幸的是 Jersey 没有考虑到它。
那么发生了什么?它在以前的 Jersey 版本中工作得非常好,所以它似乎是一个回归错误。
我放弃。有什么线索吗?