先前的答仅适用于tomcat,因此也要添加我的。您可以通过例如使用标准的servlet过滤器来禁用方法交叉容器:
import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Component; import org.springframework.web.filter.OncePerRequestFilter; @Component public class MethodFilter extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { if (request.getMethod().equals("OPTIONS")) { response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); } else { filterChain.doFilter(request, response); } } }
注意:假设此类由Spring组成。如果没有,您可以使用此处详细介绍的其他注册方法。
2020-05-30
转自:https://codingdict.com/questions/36541