我使用Jersey 2.19来实现REST API。
我已启用ServerProperties.BV_SEND_ERROR_IN_RESPONSE
将ConstraintViolationException
转换为验证错误。这很有效。除了响应代码,我在响应中得到了一些文字:
Parameter value must be 'true' or 'false' (path = MyResource.m_myParam, invalidValue = invalid)
。
我还创建了一个自定义异常映射器,将ConstraintViolationExceptions
映射到我选择的特定HTTP响应代码。
这也有效。
但是,我注意到他的回复中不再提供其他信息。如果我在异常上调用getMessage
,则会返回null
。
如何在我的映射器中访问相同的信息?
答案 0 :(得分:2)
只需致电ConstraintViolationException.getConstraintViolations()
即可返回Set<ConstraintViolation>
。查看ConstraintViolation
API,查看您有权访问的所有信息。
您要播放的特定邮件是根据getMessage()
的{{1}},getPropertyPath()
和getInvalidValue()
获得的信息构建的字符串