2011-05-30 122 views
6

雖然使用@RequestBodyStreamSource發現,如果xml在請求正文中無效StreamSource拋出異常(導致400錯誤請求),我無法處理它(告訴客戶端是什麼壞)。Spring MVC請求正文錯誤處理

有沒有辦法處理這種異常?

回答

10

一般你可以在Spring MVC趕上異常方式:

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

你可以把它映射到任何異常的時間和重定向用戶到任何頁面與任何mesage。

或者:您可以在@ResponseBody返回它:

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