1
我有这个REST控制器也应该处理异常。Spring REST多部分错误处理
@ExceptionHandler(MultipartException.class)
注释不起作用explained。
因此,我正在实施HandlerExceptionResolver
,它基本上正在工作,但对于@ExceptionHandler
而言,不如REST和JSON响应便利。
我想返回我的自定义类ValidationReport
在resolveException
类似于@ExceptionHandler handleBadRequest
。我无法创建一个ModelAndView,其中包含一个ValidationReport
json响应。任何想法如何结合这两种风格?
@RestController
class ValidationController implements HandlerExceptionResolver{
static Logger LOG = LoggerFactory.getLogger(ValidationController.class);
@RequestMapping(value="/validate", method=[POST])
public ValidationReport validate(MultipartFile file) {
LOG.info("received file ${file?.name}")
ValidationReport report = new ValidationReport();
return report
}
@ResponseStatus(BAD_REQUEST)
@ExceptionHandler(MultipartException.class)
@ResponseBody ValidationReport handleBadRequest(HttpServletRequest req, Exception ex) {
return new ValidationReport(USER_ERROR, "you should not upload files bigger then xx MB")
}
@Override
ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
if (ex instanceof MultipartException){
response.sendError(BAD_REQUEST.value(),ex.message)
}
return null
}
}
我