从ConstraintViolationException获取信息 - Jersey

时间:2015-07-07 10:18:34

标签: java rest jersey jax-rs bean-validation

我使用Jersey 2.19来实现REST API。

我已启用ServerProperties.BV_SEND_ERROR_IN_RESPONSEConstraintViolationException转换为验证错误。这很有效。除了响应代码,我在响应中得到了一些文字:

Parameter value must be 'true' or 'false' (path = MyResource.m_myParam, invalidValue = invalid)

我还创建了一个自定义异常映射器,将ConstraintViolationExceptions映射到我选择的特定HTTP响应代码。

这也有效。

但是,我注意到他的回复中不再提供其他信息。如果我在异常上调用getMessage,则会返回null

如何在我的映射器中访问相同的信息?

1 个答案:

答案 0 :(得分:2)

只需致电ConstraintViolationException.getConstraintViolations()即可返回Set<ConstraintViolation>。查看ConstraintViolation API,查看您有权访问的所有信息。

您要播放的特定邮件是根据getMessage()的{​​{1}},getPropertyPath()getInvalidValue()获得的信息构建的字符串