package com.dy.common.webFilter; import java.io.IOException; import jakarta.servlet.*; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; /** * SpringBoot 跨域处理过滤器 */ @Slf4j @Component public class CROSFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; //HttpServletRequest reqs = (HttpServletRequest) req; /* * 跨域设置允所有请求跨域 * 如果允许指定的客户端跨域设置: http://127.0.0.1:8020 */ response.setHeader("Access-Control-Allow-Origin","*"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "Content-Type"); if (((HttpServletRequest) req).getMethod().equals("OPTIONS")) { response.getWriter().println("ok"); return; } chain.doFilter(req, res); } @Override public void destroy() { } }