org.thymeleaf.exceptions.TemplateInputException: Error resolving template "err/getAjaxerror", template might not exist or might not be accessible by any of the configured Template Resolvers
@RequestMapping("getAjaxerror") @ResponseBody public IMoocJSONResult getAjaxerror() { int a = 1 / 0; int b = a; return IMoocJSONResult.ok(); }
用@RestControllerAdvice
你在后端接口添加@RequestBody是没有用的,因为他不会返回你的
return
IMoocJSONResult.ok();这个结果。
在执行方法体里的
int
a =
1
/
0
;的时候会被异常捕获机制捕获
在统一处理异常的代码里,已经确定了返回格式为:
@ControllerAdvice
这是老师的代码:
返回的格式不是JSON,使用的返回体的工具类只是对结果的封装,所以会报错,你会发现ajax处理返回请求的时候弹出的alert是:
alert("error");
是这一部分的
在前一节没有将异常处理统一的时候,单独处理ajax请求时,弹出的alert是success块中:
alert("发生异常"+data.msg);
是这一部分的:
最后的报错的原因还是统一异常处类中类头定义的
@ControllerAdvice
的原因
/getAjaxerror