Springboot总结之跨域处理cors的方法-创新互联

背景

创新互联主营积石山保安族东乡族网站建设的网络公司,主营网站建设方案,手机APP定制开发,积石山保安族东乡族h5小程序设计搭建,积石山保安族东乡族网站营销推广欢迎积石山保安族东乡族等地区企业咨询

现在做的很多项目都是前后端分离的,这就引出一个很常见的问题,我们的页面和接口是在不同域名下的,当我们通过ajax访问后端接口的时候就会出现跨域问题,这种问题我们怎么解决呢?一般来说就是cors和jsonp这两种方案。Spring简化了cors的配置,接下来我们来看一下它提供的cors。

跨域问题描述

Web开发经常会遇到跨域问题,解决方案有:jsonp,iframe,CORS等等。


CORS 与 JSONP 相比:


1、 JSONP 只能实现 GET 请求,而 CORS 支持所有类型的 HTTP 请求。
2、 使用 CORS,开发者可以使用普通的 XMLHttpRequest 发起请求和获得数据,比起 JSONP 有更好的 错误处理。
3、 JSONP 主要被老的浏览器支持,它们往往不支持 CORS,而绝大多数现代浏览器都已经支持了 CORS。

WebMvcConfigurer对象

我们可以初始化一个WebMvcConfigurer对象来配置我们的cors映射。

@Configuration
public class CorsCongiguration {
  @Bean
  public WebMvcConfigurer corsConfigurer() {
    return new WebMvcConfigurerAdapter() {
      @Override
      public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/api/**"); // 允许所有第三方域名访问该接口
        // .allowedOrigins("http://domain2.com")//指定来源域名
        // .allowedMethods("PUT", "DELETE")
        // .allowedHeaders("header1", "header2", "header3")
        // .exposedHeaders("header1", "header2")
        // .allowCredentials(false).maxAge(3600);
      }
    };
  }
}

分享名称:Springboot总结之跨域处理cors的方法-创新互联
文章来源:http://pwwzsj.com/article/copjhg.html