Wie behandeln Ausnahmen in Spring MVC anders für HTML- und JSON-Anforderungen

Ich bin mit der folgenden exception-handler im Frühjahr 4.0.3 zum abfangen von Ausnahmen und zeigt eine benutzerdefinierte Fehlerseite für den Benutzer:

@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;
    }
}

Aber jetzt will ich eine andere Handhabung für die JSON-Anfragen, so bekomme ich JSON-Fehler-Antworten für diese Art von Anfragen, wenn eine Ausnahme aufgetreten ist. Derzeit ist der obige code wird auch ausgelöst durch die JSON-Anfragen (Mit einer Accept: application/json - header) und den JavaScript-client nicht wie die HTML-Antwort.

Wie kann ich Ausnahmen anders für HTML-und JSON-requests?

InformationsquelleAutor der Frage kayahr | 2014-05-10

Schreibe einen Kommentar