机智的爆爆哥 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,你让它怎么处理 - -

    评论

报告相同问题?

悬赏问题

  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?