@ControllerAdvice和@ExceptioHandler
时间: 2023-08-25 17:06:27 浏览: 91
@ControllerAdvice 是一个用于全局异常处理的注解,它可以将异常处理逻辑集中到一个类中,避免在多个控制器中重复编写相同的异常处理代码。通过 @ControllerAdvice 注解的类,可以定义一些全局的异常处理方法,这些方法可以被所有的 @RequestMapping 注解的方法调用。
@ExceptionHandler 是用于标识一个方法为异常处理方法的注解,当控制器中抛出指定的异常时,该方法会被调用来处理该异常。通过在 @ExceptionHandler 注解中指定异常类型,我们可以在控制器中定义多个不同的异常处理方法来处理不同类型的异常。
总结一下,@ControllerAdvice 是一个用于全局异常处理的注解,而 @ExceptionHandler 是用于在控制器中处理特定异常的注解。
相关问题
@ControllerAdvice 和 @ExceptionHandler
@ControllerAdvice是一个增强的Controller注解,用于全局异常处理。它通常与@ExceptionHandler一起使用,用于捕获和处理全局异常。使用@ControllerAdvice注解的类可以定义一个或多个@ExceptionHandler方法,用于处理不同类型的异常,比如NullPointerException或其他异常。这样,当应用程序中发生异常时,这些异常处理方法会被调用,以便对异常进行处理和响应。
@ControllerAdvice和@RestControllerAdvice
@ControllerAdvice和@RestControllerAdvice是Spring框架中的两个注解,用于全局异常处理和全局数据绑定。
@ControllerAdvice注解用于定义一个全局的异常处理器。通过在类上添加@ControllerAdvice注解,可以将其标识为全局异常处理类。在这个类中,可以定义多个异常处理方法,每个方法使用@ExceptionHandler注解来指定需要处理的异常类型。当系统中抛出对应的异常时,会由@ControllerAdvice注解标注的类中的对应方法来进行处理。
@RestControllerAdvice是@ControllerAdvice的一个扩展,除了处理异常之外,它还具有将返回值绑定到响应体的功能。在方法上加上@ResponseBody注解,可以将返回值直接作为响应体返回给客户端。
总结来说,@ControllerAdvice用于全局异常处理,而@RestControllerAdvice除了全局异常处理,还可以将返回值绑定到响应体。
阅读全文