springboot NoHandlerFoundException返回问题
来源:3-6 【总结与作业】关于 ad-eureka 的介绍及作业

慕码人4571193
2021-01-11
老师您好 我的问题是 boot项目中 比如我的后台模块 既有模板引擎也有api 那么我统一异常处理中 比如处理404异常:
/**
* 404
*
* @return
*/
@ExceptionHandler(NoHandlerFoundException.class)
public Object handle(HttpServletRequest request, HttpServletResponse response) {
if (request.getRequestURI().startsWith("/admin/api")) {
//这里返回json-提示未登录
response.setCharacterEncoding("utf-8");
response.setContentType("application/json; charset=utf-8");
//这个方法就是返回json对象
return ResponseUtil.notFound(response);
}
if (request.getRequestURI().startsWith("/admin")) {
//这里重定向登录页面
return "redirect:/admin/login";
}
return null;
}
如上面代码 我想判断url是"/admin/api"开头的就统一返回json,提示404,否则就是跳转到登录页面,但是json的响应不生效,json的情况还是会提示找不到模板引擎,下面的判断重定向登录页面没问题,请问老师怎么处理呢,谢谢?
写回答
1回答
-
同学你好:
你这里的 Handler 类注解应该是 @ControllerAdvice 而不是 @RestControllerAdvice,那么,不生效是肯定的。可以尝试在工程的配置文件中配置看看可不可以生效(需要你查下了),我没有这样的使用经验。
欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持!
132021-01-12
相似问题