从 ConstraintViolationException 获取信息 - Jersey
Getting information out of ConstraintViolationException - Jersey
我正在使用 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
它 returns null
.
如何在我的映射器中访问相同的信息?
只需致电 ConstraintViolationException.getConstraintViolations()
which will return a Set<ConstraintViolation>
. Take a look at the ConstraintViolation
API 即可查看您有权访问的所有信息。
您显示的特定消息是一个字符串,它是根据通过 ConstraintViolation
的 getMessage()
、getPropertyPath()
和 getInvalidValue()
获得的信息构建的
我正在使用 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
它 returns null
.
如何在我的映射器中访问相同的信息?
只需致电 ConstraintViolationException.getConstraintViolations()
which will return a Set<ConstraintViolation>
. Take a look at the ConstraintViolation
API 即可查看您有权访问的所有信息。
您显示的特定消息是一个字符串,它是根据通过 ConstraintViolation
getMessage()
、getPropertyPath()
和 getInvalidValue()
获得的信息构建的