Spring-Data-Rest验证器返回500而不是400状态代码

Mat*_*odd 5 java spring spring-data spring-data-rest spring-boot

我正在项目中使用spring-data-rest,我正在考虑引入验证.

我可以通过扩展RepositoryRestConfigurerAdapter手动添加我的验证器,并覆盖configureValidatingRepositoryEventListener来添加我的验证器.

验证已执行,但我收到500响应而不是预期的400响应.

调用堆栈的顶部如下所示:

threw exception [Request processing failed; nested exception is org.springframework.data.rest.core.RepositoryConstraintViolationException: Validation failed] with root cause
org.springframework.data.rest.core.RepositoryConstraintViolationException: Validation failed
at 
org.springframework.data.rest.core.event.ValidatingRepositoryEventListener.validate(ValidatingRepositoryEventListener.java:179) ~[spring-data-rest-core-2.5.2.RELEASE.jar:na]
at 
org.springframework.data.rest.core.event.ValidatingRepositoryEventListener.onBeforeCreate(ValidatingRepositoryEventListener.java:96) ~[spring-data-rest-core-2.5.2.RELEASE.jar:na]
Run Code Online (Sandbox Code Playgroud)

似乎RepositoryRestExceptionHandler handleRepositoryConstraintViolationException方法由于某种原因没有获取异常.

我已经看到其他类型的约束,例如MongoDB唯一索引约束成功地映射到400响应.

任何关于如何解决这个问题的想法将不胜感激.