例如,如何处理此控制器动作方法中的验证错误和可能的异常:
@RequestMapping(method = POST)
@ResponseBody
public FooDto create(@Valid FooDTO fooDto, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return null; // 在这里做什么?
// 如何让客户端知道出现了问题?
} else {
fooDao.insertFoo(fooDto); // 如果在这里抛出异常怎么办?
// 向客户端发送什么?
return fooDto;
}
}
如果发生错误,请抛出异常,然后使用
@ExceptionHandler
注释另一个方法来处理异常并呈现适当的响应。