【问题标题】:Getting information out of ConstraintViolationException - Jersey从 ConstraintViolationException 中获取信息 - 泽西岛
【发布时间】:2015-07-07 10:18:34
【问题描述】:

我正在使用 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

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

【问题讨论】:

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


    【解决方案1】:

    只需调用ConstraintViolationException.getConstraintViolations(),它将返回Set<ConstraintViolation>。查看ConstraintViolation API 以查看您有权访问的所有信息。

    您要显示的特定消息是一个字符串,该字符串由通过ConstraintViolationgetMessage()getPropertyPath()getInvalidValue() 获得的信息构建而成

    【讨论】:

      猜你喜欢
      • 2014-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 2013-03-24
      • 2015-04-16
      • 2012-11-03
      相关资源
      最近更新 更多