spring 公用异常处理
2024-08-27 17:51:03
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 增加公用异常拦截
ControllerAdvice
public 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"';
}
}
最新文章
- 使用Slf4j集成Log4j2构建项目日志系统的完美解决方案
- 使用Plsql将Excel数据导入Oracle数据库
- 翻译:AKKA笔记 - Actor消息 -1(一)
- Effective C++ -----条款33:避免遮掩继承而来的名称
- 小Experience__要懂得努力
- ruby学习网站
- ASP.NET防止用户多次登录的方法
- big data vs HPC
- 使用pymysql和paramiko实现远程安装软件
- Oracle连接数过多释放机制
- 【shell编程基础2】shell组合应用之一:重定向和逻辑
- The specified JRE installation does not exist异常的原因和解决办法
- html案例详解(一)
- 后台调用前端JS
- python数据结构与算法第九天【选择排序】
- 浅谈数通畅联ECP与EAC的区别
- golang的垃圾回收(GC)机制
- Linux命令(十) 在文件或目录之间创建链接 ln
- spring cloud 学习(11) - 用fastson替换jackson及用gb2312码输出
- DLL注入之Appinit_Dlls
热门文章
- TP框架入门基础
- laravel基础课程---9、视图(lavarel的模板语法和tp相比怎样)
- Collaborative Index Embedding for Image Retrieval
- linux 进程学习笔记-进程退出/终止进程
- 注意!!一定要谨慎使用c/c++原生指针
- HihoCoder1651 : 小球染色([Offer收割]编程练习赛38)(DP的优化)
- poj3017 Cut the Sequence[平衡树+单调队列优化]
- hdu畅通工程
- 获取.net对象的属性集
- 用Pyinstaller把Python3.7程序打包成可执行文件exe