| 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() { | 
|     } | 
|   | 
| } |