Springboot设置跨域的三种方式

java1234

共 1603字,需浏览 4分钟

 ·

2020-09-23 18:30

点击上方蓝色字体,选择“标星公众号”

优质文章,第一时间送达

  作者 |  cchilei 

来源 |  urlify.cn/ZvM7Jf

66套java从入门到精通实战课程分享

方式一(精细配置)

在需要跨域的整个Controller或者单个方法上添加@CrossOrigin注解

方式二(全局配置)

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("POST""GET""PUT""OPTIONS""DELETE")
                .maxAge(3600)
                .allowCredentials(true);
    }
}

方式三(通过filter)

@Component
@WebFilter(urlPatterns = "/*", filterName = "authFilter") //这里的“/*” 表示的是需要拦截的请求路径
public class PassHttpFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException { }
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletResponse httpResponse = (HttpServletResponse)servletResponse;
        httpResponse.setHeader("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept");
        httpResponse.setHeader("Access-Control-Allow-Credentials""true");
        httpResponse.addHeader("Access-Control-Allow-Origin""http://127.0.0.1:8080");
        filterChain.doFilter(servletRequest, httpResponse);
    }
    @Override
    public void destroy() { }
}





     



感谢点赞支持下哈 

浏览 38
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报