Memory River

记忆河,记今日之事忆往昔之流

Spring Boot 开发接口项目的跨域问题

Rickey  \  2018-11-07 11:32:02

Spring Boot 在解决跨域问题的方式有两种,一是全局配置、二是部分配置。

全局配置:

整个项目的所有接口都允许跨域访问。代码如下:

@Configuration
public class MyConfiguration {

  @Bean
  public WebMvcConfigurer corsConfigurer() {
    return new WebMvcConfigurerAdapter() {
      @Override
      public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/api/**");//参数根据实际情况填写
      }
    };
  }
}

全局配置,配置后无须添加其他配置.SpringBoot 1.5.6版本jdk1.7或者1.8都测试没问题.

部分配置:

使用@CrossOrigin注解进行配置

可选参数:@CrossOrigin(origins = "http://blog.wchuf.com",maxAge = 3600,methods = {RequestMethod.GET, RequestMethod.POST}) 分别是授权地址、时间、和方法。

我这里是抽出一个基类,让所有接口继承此类。

/**
 * base基类
 */
@CrossOrigin(origins = "*", maxAge = 3600)
public abstract class BaseController {

}

在controller类或者方法上方通过注解进行跨域配置,还可以指定允许跨域的域名等,比较灵活。当然,也可以抽出一个controller的基类,在基类class上方用注解配置跨域,然后所有需要跨域的controller都继承此基类,能达到跨域的目的。

地址: http://wchuf.com/article/adt/9b9d64fe24f54bd2a3a762dded87ea6b.html
声明: 本文为原创文章,版权归本站所有,欢迎分享本文,转载请保留出处!
  200         0         0
Rickey
人,可以无傲气,但不可以无傲骨。

YOU MIGHT ALSO LIKE

0 COMMENTS
想对博主说些什么?