@ControllerAdvice 是spring 3.2提供的新注解,他是一个controller增强器,可以对controller中使用到@RequestMapping注解的一下方法做逻辑处理,用法可分为以下三种:
1.统一的异常处理
配合 @ExceptionHandler注解结合使用,当异常抛到controller层时,可以对异常进行统一的处理,规定返回的json格式或者跳转到指定的错误页面等.
@RestControllerAdvice
public class AppControllerAdvice {
private static Logger log = LoggerFactory.getLogger(AppControllerAdvice.class);
@Autowired
private StringRedisTemplate stringRedisTemplate;
@ResponseBody
@ExceptionHandler
String exceptionHandler(MediationException exception) {
//统一处理异常,返回规定的json格式
return JsonUtil.object2Json(Result.fail(exception.getCode(), exception.getMessage()));
}
}