我创建了一个 BaseRepository ,它扩展了CrudRepository
并标有@NoRepositoryBean
。我所有的其他存储库都扩展了 BaseRepository 。
如何覆盖 BaseRepository 中的save
方法以获得自定义错误消息?例如,我需要捕获所有DataIntegrityViolationException
以在前端显示一些正确的消息。任何帮助赞赏。
更新
例如,如果您创建Spring Endpoints(@Endpoint
),那么您可以创建一个实现org.springframework.ws.server.EndpointInterceptor
的类,您可以在其中监视所有流量。是否有类似的类我可以监控所有与数据相关的流量?
答案 0 :(得分:1)
如我的评论中所述,重写' save'不会实现你的目标。 JPA可能会在您的代码中抛出异常。这是JPA的问题之一。
我想你可以覆盖Spring的一些核心方法来实现你的目标,但这并不是Spring的工作方式。
相反,您基本上会注册您的异常处理,因此Spring会根据需要调用它。
有an article about this by Baeldung,看起来很有前途,并且受到Google的重视。