如何在 Rest API whit Spring 启动时处理异常

How to handle Exceptions in Rest API whit Spring boot

我需要在休息时处理异常 API。 我有一个分层架构,由实体、DAO、服务和控制器组成。 在我的服务中,我有异常模型,我需要知道转换这些异常以在 HTTP 中发送响应的最佳方式。 我阅读了有关异常处理程序和控制器的建议,但我不确定执行此操作的最佳形式是什么。 任何人都可以照亮我吗? 谢谢

最好的方法是创建您自己的自定义异常 class 并且不处理 dao 和服务中的任何异常,而不仅仅是从那里抛出自定义异常 并处理控制器中的所有异常和响应,这意味着从控制器到客户端的完整消息。

对于大多数异常,例如验证错误、系统错误等,我会选择 @ControllerAdvice。另一方面,您可以在控制器中针对特定情况使用错误处理程序。

这样您就拥有了通用的错误处理程序,并有可能覆盖默认的错误处理程序。

一种方法是使用 spring ExceptionHandler(根据 spring 版本,有多种可能的变体)。

一些很好的文档here