博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring 公用异常处理
阅读量:5166 次
发布时间:2019-06-13

本文共 1340 字,大约阅读时间需要 4 分钟。

1. 采用spring boot注解方式,如果采用swagger的话会导致swagger不可用

  1.1  spring 配置如下

#出现错误时, 直接抛出异常spring.mvc.throw-exception-if-no-handler-found=true#不要为我们工程中的资源文件建立映射spring.resources.add-mappings=false 如果设置为ture,当访问不存在的路径或入参解析异常等,会出现框架自定义异常即1.2的配置的异常信息,swagger出现404
如果设为false,swagger正常,其它异常会出现如下页面

Whitelabel Error Page

 

This application has no explicit mapping for /error, so you are seeing this as a fallback.

 
Fri Jun 21 14:01:28 CST 2019
 
There was an unexpected error (type=Not Found, status=404).
 
No message available
 

  1.2 增加公用异常拦截

ControllerAdvicepublic class GlobalExceptionHandler {@ExceptionHandler(value = Exception.class)    @ResponseBody    public String defaultErrorHandler(HttpServletRequest req, Exception e) throws Exception {return "xxx";}}

 

2. 如果要处理错误路径问题且要swagger可用,可以参考org.springframework.boot.autoconfigure.web.BasicErrorController重写自己的

@Controller@RequestMapping("${server.error.path:${error.path:/error}}")public class FundaErrorController  implements ErrorController {    private static final String PATH = "/error";     @Autowired    private ErrorAttributes errorAttributes;     @Override    public String getErrorPath() {        return PATH;    }      @RequestMapping    @ResponseBody    public String doHandleError(HttpServletRequest request) {           return "xxxx"';      }  }

 

转载于:https://www.cnblogs.com/lobin/p/11064267.html

你可能感兴趣的文章
给一次重新选择的机会_您还会选择程序员吗?
查看>>
Mysql MHA高可用集群架构
查看>>
心急的C小加
查看>>
编译原理 First,Follow,select集求法
查看>>
iOS开发 runtime实现原理以及实际开发中的应用
查看>>
BZOJ2437 NOI2011兔兔与蛋蛋(二分图匹配+博弈)
查看>>
android 学习资源网址
查看>>
qt安装遇到的错误
查看>>
java:Apache Shiro 权限管理
查看>>
objective c的注释规范
查看>>
FreeNas安装配置使用
查看>>
Django(一)框架简介
查看>>
Python操作SQLite数据库的方法详解
查看>>
菜单和工具条(二)
查看>>
hadoop17---RPC和Socket的区别
查看>>
使用JMeter代理录制app测试脚本
查看>>
Linq to Object实现分页获取数据
查看>>
mac常用系统命令
查看>>
android上传文件到服务器
查看>>
我回答了90%的面试题,为什么还被拒?
查看>>