java后端请求过滤options方式
作者:muguo321
Optional项是一个容器对象,它可以包含非空值,也可以不包含非空值,它用于表示没有值,而不是使用 null,引入Optional项是为了帮助开发人员编写更简洁、更具表现力的代码,并避免 NullPointerException
java后端请求过滤options方式
推荐阅读:
前端每次发出post 请求时,浏览器会默认请求2次,一次是options类型,一次是真实的请求,为了避免这种情况发生,需在后端过滤器中拦截下options请求,代码如下:
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); } } }
配置文件中:
server: port: 8080 tomcat: port-header: HEAD,PUT,DELETE,TRACE,COPY,SEARCH,PROPFIND
验证过其他方式,但是没有过滤成功,以上代码是测试通过的,特此记录。
到此这篇关于java后端请求过滤options方式的文章就介绍到这了,更多相关java后端请求过滤options内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!