解决Spring MVC no handler抛出异常

现如今每一个网站都会有自己的404页面,但是作为一个纯后端的应用,肯定是没有静态资源的,这辈子也不可能会有静态资源

对于Spring MVC它有自己的一套404返回,例如这样

{
    "timestamp": "2018-09-26T17:03:41.161+0800",
    "status": 404,
    "error": "Not Found",
    "message": "No message available",
    "path": "/process-instance/overview1"
}

但是肯定不是我们所希望的

如果使用的是Spring Boot,可以在application.properties中设置

spring.mvc.throw-exception-if-no-handler-found=true

该参数对应的就是DispatcherServlet中的throwExceptionIfNoHandlerFound

再在全局异常处理中利用@ExceptionHandler捕获NoHandlerFoundException就可以了

但是并没有生效,原因是Spring会默认给你加上ResourceHttpRequestHandler这个handler,也就不会出现noHandler的情况了,该handler是用来处理资源使用的

spring.resources.add-mappings=false

如上配置就可以了

    原文作者:Joker__k
    原文地址: https://www.jianshu.com/p/ced4eb2edddf
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞