Spring Boot CORS 跨域配置

在做前后端分离的时候,spring boot 下需要配置相关的跨域参数.

默认下ajax的jsonp能解决get 查询,但是很多接口是post delete put 等操作,jsonp无解.

核心解决办法就是在 Respone Header头中Access-Control-Allow-Origin。

一般实现方式为添加拦截器,全局返回的Repsone添加Access-Control-Allow-Origin.

spring boot 可以以更简单的方式实现.

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
public class CorsConfig extends WebMvcConfigurerAdapter {
  @Override
  public void addCorsMappings(CorsRegistry registry) {
    registry.addMapping("/spi/**")//注意 这里一定是两个* 代表多目录
        .allowedOrigins("*")//这里根据具体情况,尽量配置为前端的域名或者内网ip
        .allowCredentials(true)
        .allowedMethods("GET", "POST", "DELETE", "PUT")
        .maxAge(3600);
  }
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注