美文网首页
SpringBoot跨域请求

SpringBoot跨域请求

作者: jiahzhon | 来源:发表于2020-08-04 15:14 被阅读0次

1、直接采用SpringBoot的注解@CrossOrigin
Controller层在需要跨域的类或者方法上加上该注解即可

2、处理跨域请求的Configuration

@Configuration
public class CorsConfig implements WebMvcConfigurer {

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

3、采用过滤器的方式

 @Component
public class CORSFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        HttpServletResponse res = (HttpServletResponse) response;
        res.addHeader("Access-Control-Allow-Credentials", "true");
        res.addHeader("Access-Control-Allow-Origin", "*");
        res.addHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT");
        res.addHeader("Access-Control-Allow-Headers", "Content-Type,X-CAF-Authorization-Token,sessionToken,X-TOKEN");
        if (((HttpServletRequest) request).getMethod().equals("OPTIONS")) {
            response.getWriter().println("ok");
            return;
        }
        chain.doFilter(request, response);
    }
    @Override
    public void destroy() {
    }
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }
}

res.addHeader("Access-Control-Allow-Origin", "*")可用来设置白名单

相关文章

  • SpringBoot2.x整合CORS解决跨域问题

    跨域问题系列文章 1. 同源策略与CORS(跨域请求的起源)2. SpringBoot2.x整合CORS解决跨域问...

  • AJAX出现两次请求 options和get|post

    跨域请求 允许跨域请求 preflighted request预请求(options) 跨域请求 XMLHttpR...

  • SpringBoot跨域请求

    1、直接采用SpringBoot的注解@CrossOriginController层在需要跨域的类或者方法上加上该...

  • axios发送俩次请求的原因

    其实跨域分为简单跨域请求和复杂跨域请求 简单跨域请求是不会发送options请求的 复杂跨域请求会发送一个预检请求...

  • 用express实现CORS跨域

    跨域请求头 cors express 跨域请求

  • 跨域

    1、跨域是什么 域指的是域名,向一个域发送请求,如果请求的域和当前域是不同域,就叫跨域;不同域之间的请求就叫跨域请...

  • SpringBoot跨域请求配置

    跨域一直是个比较烦人的事情,不过在JAVA后台简单配置一下就可以了 这样就支持跨域请求了,超级简单

  • SpringBoot 处理跨域请求

    什么是跨域? 由于安全原因,浏览器都遵循着同源原则,拦截了不同域名之间的请求。跨域请求,是指能让不同域名之间,可以...

  • SpringBoot处理跨域请求

    关于前后端交互,跨域问题,SpringBoot常用的解决方案有3种。不管哪种,涉及到web,需要先引入包: 1. ...

  • Springboot实现跨域请求

    本文简单介绍下跨域, 看完成果:了解跨域 1.什么同源? 为了保证浏览器的安全,不同源的客户端脚本在没有明确授权的...

网友评论

      本文标题:SpringBoot跨域请求

      本文链接:https://www.haomeiwen.com/subject/xrdmrktx.html