Я использую следующий обработчик исключений в Spring 4.0.3 для перехвата исключений и отображения пользовательской страницы ошибок пользователю:
@ControllerAdvice
public class ExceptionHandlerController
{
@ExceptionHandler(value = Exception.class)
public ModelAndView handleError(HttpServletRequest request, Exception e)
{
ModelAndView mav = new ModelAndView("/errors/500"));
mav.addObject("exception", e);
return mav;
}
}
Но теперь мне нужна другая обработка запросов JSON, поэтому я получаю ответы об ошибках JSON для такого рода запросов при возникновении исключения. В настоящее время вышеуказанный код также запускается с помощью запросов JSON (с использованием заголовка Accept: application/json
), а клиент JavaScript не нравится ответ HTML.
Как я могу обрабатывать исключения по-разному для запросов HTML и JSON?