博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot2统一处理异常包括404异常
阅读量:5862 次
发布时间:2019-06-19

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

hot3.png

SpringBoot2.0.6 统一处理异常包括404异常

1. SpringBoot文档关于异常

2.默认异常BasicErrorController类

@Controller@RequestMapping("${server.error.path:${error.path:/error}}")public class BasicErrorController extends AbstractErrorController {

3. 先处理全局异常

4. 处理404异常

经过3的处理,在访问时抛出异常,会经过这个统一异常处理

但是,当请求的方法不存在是,会抛出404的异常

这个时候怎么处理呢

4.1 改写配置

#出现错误时, 直接抛出异常spring.mvc.throw-exception-if-no-handler-found=true#关闭工程中的资源文件建立映射spring.resources.add-mappings=false

4.2 在全局异常处理中添加 NoHandlerFoundException异常处理

这样的话,当访问路径不存在时返回

4.3 集成swagger时,需要增加配置

如果按上面配置,在4.1中已经配置了不加载静态资源,这样导致swagger访问时出现问题,这样就得将swagger-ui特殊化

@Override    public void addResourceHandlers(ResourceHandlerRegistry registry) {        registry.addResourceHandler("/swagger-ui.html")                .addResourceLocations("classpath:/META-INF/resources/", "/static", "/public");        registry.addResourceHandler("/webjars/**")                .addResourceLocations("classpath:/META-INF/resources/webjars/");    }

网上有人说要继承WebMvcConfigurationSupport ,亲测,不可以

转载于:https://my.oschina.net/angelbo/blog/3003993

你可能感兴趣的文章
Oracle 也加入到 Eclipse MicroProfile项目中了
查看>>
mysqldump导入导出mysql数据库
查看>>
linux中软硬链接的区别
查看>>
由于if功力不足引出的Helper
查看>>
ng-zorro-antd 入门
查看>>
CentOS修改文件夹权限
查看>>
Esper学习笔记三:EPL语法(1)
查看>>
dcoker 搭建 elk环境
查看>>
Spring源码深度解析:学习笔记
查看>>
python+django(admin管理工具)
查看>>
IPv6中国迎来网络主权博弈的关键时刻
查看>>
如何在Rancher 2.0中使用服务发现
查看>>
Docker命令行与守护进程如何交互?
查看>>
阿里官方Java代码规范标准
查看>>
iframe标签使用总结
查看>>
Taro请求问题
查看>>
我理解的Java并发基础(五):并发工具类和ThreadLocal
查看>>
一、ActiveMQ--起手问题记录
查看>>
五月SSL行业新闻回顾
查看>>
解决overflow: auto在Ios中滑动不流畅
查看>>