考虑Person
实体,其属性name
注释为@NotNull
。然后是一个简单的PersonRepository
,这个repo暴露在Spring Data Rest中。
当我POST
创建新的Person
时,如果name
属性为null
,则ValidationException
按预期发生。但我在客户端上实际得到的是内部服务器错误(500),并且消息是TransactionSystemException
,它发生在异常链的后期。
我希望获得的是错误请求(400),其中包含实际的ValidationException
及其所有有用的信息,以便客户可以知道&# 39;发布的数据有误。
似乎有一种方法可以使用SDR附加自定义验证器here。但问题是,这不是自定义验证器,它是在要求存储库保存数据时发生的标准bean验证。所以我不确定这两者是如何结合在一起的。
所以问题:
非常感谢。
答案 0 :(得分:0)
您需要的是一个正确的ExceptionHandler
,它将处理后端异常并向前端客户端发送有意义的丰富消息(json / xml)。
看看这个git repository