【发布时间】:2017-05-17 01:20:55
【问题描述】:
当控制器中的所有请求映射都不匹配传入请求时会发生什么?我正在使用捕获 Exception.class 的异常处理程序,但似乎没有捕获它?谁能解释一下?
【问题讨论】:
-
如果您有两个映射,一个用于root
/,另一个用于/api,它将进行最接近的匹配。只有 api 将由 /api 处理,但 / 和其他人将匹配我相信的根。然后你可以处理任何你喜欢它/。你试过了吗? -
是的,目前它正在执行 GET 请求,但因为没有映射,(所有都是 POST 请求映射)我想知道如何捕获错误/异常(无论导致它HTTP 400 页面)并且不为 GET 进行请求映射
-
如果我理解正确的话。如果出现未映射的请求,结果将是带有 404 状态代码的页面。也许你没有正确实现你的处理程序。如果您的项目包含 web.xml,您可以使用
<error-page>标签进行配置;如果它基于注释配置视图相关帖子:stackoverflow.com/questions/13356549/… 并且如果您使用的是 spring boot 定义 beanEmbeddedServletContainerCustomizer并配置错误页面,您将在控制器中处理。
标签: spring exception model-view-controller error-handling exception-handling