由于某些客户端请求 HTTP PROPFIND,我的 Spring MVC 应用程序中出现了很多错误:
16:59:39,402错误[foo.bar.controllers.ExceptionHandlingController](默认任务12)未捕获错误:org.springframework.web.HttpRequestMethodNotSupportedException:不支持请求方法“PROPFIND”
如何过滤此请求,以便它们不会在每个 Controller 中生成错误?
谢谢!
最佳答案
您可以使用 Spring 的 HandlerInterceptor 来允许和处理所需的请求。
RequestMethodInterceptor类:
package com.myproject.RequestMethodInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class RequestMethodInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
//Added PROPFIND method, add any other types NOT allowed
if(request.getMethod().equals("PROPFIND") ) {
//Log or Ignore upon your requirement & return false
return false;
} else {
return true;
}
}
}
XML 配置:
<mvc:interceptors>
<bean class="com.myproject.RequestMethodInterceptor" />
</mvc:interceptors>
关于spring-mvc - 在 spring mvc 中过滤特定的 HTTP 动词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40321854/