HandlerExceptionResolver для аннотированного контроллера - PullRequest
4 голосов
/ 02 декабря 2009

У меня есть аннотированный контроллер, который содержит несколько метидов, сопоставленных с URL. Как это:

@Controller
public class CategoryController {

@RequestMapping(value = "/addCategories")
public void addCategories(@RequestParam(value = "data") String jsonData) throws ParseException

@RequestMapping(value = "/getNext")
public void getNext(@RequestParam(value = "data") String jsonData) throws ParseException

...

}

Методы должны анализировать запрос json и выполнять некоторые действия. Запрос на синтаксический анализ может привести к проверке ParseException, которую я могу обработать методом или добавить throws к своей подписи. Я предпочитаю второй подход, так как в этом я не хочу дополнительные попытки / поймать в коде. Итак, вопрос в том, как настроить и обработать код для методов контроллера?

1 Ответ

3 голосов
/ 27 сентября 2010

Вы должны проверить пружинную документацию для @ExceptionHandler.

@Controller
public class CategoryController {

@ExceptionHandler(ParseException.class)
public ModelAndView handleParseExc(ParseException ex) {
  //...
}

@RequestMapping(value = "/addCategories")
public void addCategories(@RequestParam(value = "data") String jsonData) throws ParseException


}

Или подкласс AbstractHandlerExceptionResolver и объявите его как bean-компонент Spring MVC в вашей конфигурации XML, если вы хотите обработать эти исключения для всех ваших контроллеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...