机智的爆爆哥 2021-07-08 19:40 采纳率: 33.3%
浏览 154

关于springboot结合拦截器统一处理异常的问题

@GetMapping("/message/getMessage")
    @ApiOperation(value = "获取消息列表")
    public Result getMessage() {
        Subject subject = SecurityUtils.getSubject();
        if (subject.getPrincipal() == null) {
            return Result.fail().message("请登陆!").code(401);
        }
//省略若干代码
.........
}

因为使用的是jwt拦截器 每次都会验证请求头中的token是否正确 一旦错误 则抛出异常了

我试过用 @ControllerAdvice+@ExceptionHandler 这种只能用在我主动在controller方法中跑出异常 一旦脱离了controller 比如在拦截器中 抛出我自定义的异常 是不会捕获的 换言之 就是@ControllerAdvice没生效 貌似是不能处理这种情况的 有什么好的办法捕获这些异常 然后向前端返回json格式数据呢?

  • 写回答

2条回答 默认 最新

  • a1767028198 2021-07-09 09:32
    关注

    Filter报错,那都没进入到dispatcherServlet,你让它怎么处理 - -

    评论

报告相同问题?

悬赏问题

  • ¥20 家用射频美容仪技术规格
  • ¥25 matlab数值溢出该怎么解决?
  • ¥15 大家帮我看看为什么错了
  • ¥15 unity互动琴弦抖动效果
  • ¥15 做了个的二极管反向饱和电流测量电路,但是测试达不到效果
  • ¥15 nginx无证书访问https失败
  • ¥15 树莓派启动AP热点传入数据
  • ¥15 multisim中关于74ls192n和DSWPK开关的问题(相关搜索:计数器)
  • ¥15 在误装Windows server2019 后如何利用Windows.old恢复?
  • ¥20 代码实现状态连接包过滤防火墙的设计与实现