@Controller和@ControllerAdvice类可以使用@ExceptionHandler注解标注方法来处理控制器方法的异常,如下例所示:,在@ExceptionHandler中指明能够处理的异常类。,以上是回顾了SpringMVC异常处理的基本使用,通过@ExceptionHandler注解标注方法,在上面的方法中都接受的是异常类,那这方法可以接收什么样的参数及返回值呢?,@ExceptionHandler方法支持以下参数:,@ExceptionHandler方法支持以下返回值:,REST服务的一个常见需求是在响应体中包含错误详细信息。Spring框架不会自动执行此操作,因为响应体中的错误细节表示是特定于应用程序的。但是,@RestController可以使用带有ResponseEntity返回值的@ExceptionHandler方法来设置响应的状态和主体。这样的方法也可以在@ControllerAdvice类中声明,以便全局应用它们。,在响应体中使用错误细节实现全局异常处理的应用程序应该考虑扩展ResponseEntityExceptionHandler,它为Spring MVC引发的异常提供处理,并提供自定义响应体的钩子。要使用它,可以创建ResponseEntityExceptionHandler的子类,用@ControllerAdvice注释它,重写必要的方法,并将其声明为Spring bean,如下:,ResponseEntityExceptionHandler类中内置了很多类型的异常处理
© 版权声明
文章版权归作者所有,未经允许请勿转载。