spring
@ControllerAdvice vs @RestControllerAdvice.
@ControllerAdvice:
- A global exception handler that works across multiple controllers.
- Typically returns a View (for MVC).
@RestControllerAdvice:
- Specialized version: @ControllerAdvice + @ResponseBody.
- Ideal for REST APIs. Returns serialized objects (like a custom ErrorResponse) directly to the client.
Method Example:
@ExceptionHandler(UserNotFoundException.class) public ResponseEntity<ErrorDetails> handleUserNotFound(UserNotFoundException ex) { return new ResponseEntity<>(new ErrorDetails(ex.getMessage()), HttpStatus.NOT_FOUND); }