У меня есть веб-сервис SpringMVC для загрузки файлов, который выглядит следующим образом:
@RequestMapping(value="/upload.json", method = RequestMethod.POST)
public @ResponseBody Map<String, Object> upload(MultipartHttpServletRequest request) {
// upload the file
}
, и все в порядке. Но если один из потребителей публикует не составной форма, то я получаю это исключение
java.lang.IllegalStateException: Current request is not of type [org.springframework.web.multipart.MultipartHttpServletRequest]
Что имеет смысл ... однако я не хочу, чтобы мои конечные пользователи видели 500 исключений сервлетов. Мне нужно дружественное сообщение об ошибке.
Я просто попробовал это (чтобы быть похожим на сборник для других POST):
@RequestMapping(value="/upload.json", method = RequestMethod.POST)
public @ResponseBody Map<String, Object> upload2(){
// return friendly msg
}
, но я получаю эту ошибку:
java.lang.IllegalStateException: Ambiguous handler methods mapped for HTTP path '/upload.json'
Есть ли способ безопасно обрабатывать как составные, так и не составные POST-запросы? Одним методом или двумя разными способами, мне все равно.