springboot NoHandlerFoundException返回问题

来源:6-1 支付场景

慕码人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回答

廖师兄

2021-01-12

response.setContentType("application/json; charset=utf-8");

不推荐这种写法。你去搜springboot统一异常处理,我的课程id为117的课程里也有讲解

0
3
慕码人4571193
回复
廖师兄
刚百度到了 谢谢老师
2021-01-12
共3条回复

实战支付+电商双系统 玩转Java技术栈

花一份课的价,收获:双系统实战+坐拥20K+粉的师兄指导,值~

2046 学习 · 1048 问题

查看课程