我如何 return 对 Open Liberty 下的 bean 验证错误的自定义响应?
How can I return a custom reponse for a bean validation error under Open Liberty?
我们在 Open Liberty 20.0.0.3 下使用 beanValidation-2.0
和 cdi-2.0
。当检测到 bean 验证错误时,Open Liberty returns 包含 bean 验证错误消息的 400 Bad Request 响应运行良好。当 Open Liberty 检测到 bean 验证错误时,我想将我们的应用程序更新为 return 自定义响应。有没有一种方法可以让我以某种方式“拦截”bean 验证错误(或 Open Liberty 生成的响应)和 return 我自己的自定义响应?`
您可以使用自定义 MessageInterpolator 来完成此操作。
它可以通过 validation.xml 的 message-interpolator
元素指定。
通常当您收到验证错误时,会抛出一个 ConstraintViolationException
,您应该能够捕捉到它并创建您自己的响应。
如果您正在使用 JAX-RS,您可能希望通过创建和注册 ExceptionMapper
to handle this type of exception and turn it into a response. There's an example here.
我们在 Open Liberty 20.0.0.3 下使用 beanValidation-2.0
和 cdi-2.0
。当检测到 bean 验证错误时,Open Liberty returns 包含 bean 验证错误消息的 400 Bad Request 响应运行良好。当 Open Liberty 检测到 bean 验证错误时,我想将我们的应用程序更新为 return 自定义响应。有没有一种方法可以让我以某种方式“拦截”bean 验证错误(或 Open Liberty 生成的响应)和 return 我自己的自定义响应?`
您可以使用自定义 MessageInterpolator 来完成此操作。
它可以通过 validation.xml 的 message-interpolator
元素指定。
通常当您收到验证错误时,会抛出一个 ConstraintViolationException
,您应该能够捕捉到它并创建您自己的响应。
如果您正在使用 JAX-RS,您可能希望通过创建和注册 ExceptionMapper
to handle this type of exception and turn it into a response. There's an example here.