2011-05-30 13 views
6

Al utilizar @RequestBodyStreamSource descubrió, que si xml en el cuerpo de la solicitud no es válido StreamSource arroja una excepción (resultando en 400 Bad Request) y no puedo manejarlo (decirle al cliente qué es malo).Spring MVC Request body error handling

¿Hay alguna manera de manejar esta excepción?

Respuesta

10

En general Usted puede coger excepción en Spring MVC de esa manera:

@ExceptionHandler(Exception.class) 
public ModelAndView handleMyException(Exception exception) { 
    ModelAndView modelAndView = new ModelAndView("/errors/404"); 
    modelAndView.addObject("message", exception.getMessage()); 
    return modelAndView; 
} 

puede asignar a cualquier momento excepción y redirigir el usuario a cualquier página con cualquier mesage.

alternativa: puede devolverlo en @ResponseBody:

@ExceptionHandler(Exception.class) 
    @ResponseBody 
    public String handleMyException(Exception exception) { 
     return exception.getMessage(); 
    }