使用Spring Web MVC的405错误的自定义处理
2022-09-04 07:04:03
在我的应用程序中,我有一些只允许POST的请求映射。如果有人碰巧在该特定路径处触发GET请求,他们会收到由容器(Tomcat)提供的405错误页面。我可以在web.xml中创建和定义405错误页面以进行自定义。
我想要什么:任何会导致405错误的请求都应该在特定的控制器方法中处理。
我尝试过:
- 一个方法,其中“method = GET”作为所提到的每个映射的对应项。这工作正常,但需要我为每个只允许POST的路径创建一个实际的请求映射和方法。我发现这种不必要的重复和混乱。
- 一个全局的“catch”方法(requestmapping /*):这不起作用,因为Spring认为GET方法是对仅用POST指定的路径的错误调用。
- 一个 ExceptionHandler 注释的方法,用于处理类 HttpRequestMethodNotSupportedException 的异常:这不起作用。似乎Spring完全在其框架代码中抛出并捕获了此异常。
- 在网络.xml中指定我自己的405。这并不完美,因为我希望有自定义处理而不是静态错误页面。