最近写了个restful接口给别人调用,对方想要通过前端发请求调用,原本以为很简单,但是浏览器却报错(图片引用网上的):
字面意思就是需要添加一个叫'Access-Control-Allow-Origin'的头,但是这里需要注意的是,不是在具体的调用方法里加这个头信息(网上很多文章存在误导),这样是不会生效的,我们需要写一个过滤器/拦截器统一设置。我这里通过过滤器来实现,大家可以根据自己的需要选择。附上代码:
import org.apache.commons.lang3.StringUtils;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class CrosFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpServletRequest request = (HttpServletRequest