SpringBoot+enjoy 返回json接口抛异常 enjoy 找不到网页

前言:

        标题太短,秒速不清晰

问题:

        我是用Spring Boot 集成 jfnial enjoy 模板引擎,然后发现,我返回json 数据的接口报错后,enjoy模板引擎会接着报一个找不到网页.

图片描述:

1、接口 Controller 以 @RestController 标识,故意抛出异常测试

image.png

2.报错信息 

    1. 空指针异常

        image.png    2.模板引擎 找不到网页

        image.png

评论区

JFinal

2019-09-26 17:40

首先确定一下找不到模板的异常是不是另一个地方引起的,如果不是的话再接着检查:是不是 spring 在 controller 中有异常时仍然去使用 enjoy 找模板去加载

大概率是 spring 在碰到 controller 中的异常后,会在 catch 块中使用 enjoy 继续找模板去渲染,这个问题显然就与 enjoy 无关了,使用任何其它模板技术也一样会有这个问题

奇衡三

2019-09-27 16:05

@JFinal 谢谢大佬给的思路,找到了问题所在,是 Spring Boot 默认的异常处理机制影响,从ssm 升级 spring boot ,按springmvc 原来的配置,在webServerFactoryCustomizer配置了对500和404 状态码的处理,但是没有覆盖和重写默认的ErrorController对错误码的处理机制,所以导致在全局异常处理(@ControllerAdvice)中处理异常执行完成后,没有直接返回json,又被默认异常的处理方式执行一次,默认的处理方式 view 为空,被spring boot 默认为当前访问路径加载模板资源。

JFinal

2019-09-27 16:18

@奇衡三 碰到问题追问到底的精神,赞

热门反馈

扫码入社