Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spring MVC Request body error handling

While using @RequestBody StreamSource found out, that if xml in request body in not valid StreamSource throws an Exception(resulting in 400 Bad Request) and i'm not able to handle it(tell client what is bad).

Is there a way to handle such exception?

like image 680
breedish Avatar asked May 30 '11 11:05

breedish


1 Answers

In general You can catch exception in Spring MVC that way:

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

You can map it to any exception time and redirect user to any page with any mesage.

Alternatively: you can return it in @ResponseBody:

  @ExceptionHandler(Exception.class)
  @ResponseBody
  public String handleMyException(Exception  exception) {
      return exception.getMessage();
  } 
like image 139
danny.lesnik Avatar answered Sep 18 '22 13:09

danny.lesnik