Springboot 对于跨域请求的支持有两种配置方式:
一:注解配置
@CrossOrigin注解可以实现对CORS的启用。
@RequestMapping("/get_api")@ResponseBody@CrossOriginpublic String Api() {return "get_api ";}
@CrossOrigin中可以配置好几种参数:
配置参数方式类似这种
@CrossOrigin(origins = "http://localhost:8080", maxAge = 16800)
二:全局配置
CORS的全局配置代码实现起来很简单。新建一个CORS的配置类,实现WebMvcConfigurer接口。这样每当客户端发送请求的时候,都会在头部附上跨域信息,就可以支持跨域访问了。
import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;public class CorsConfiguration implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**") //允许跨域访问路径.allowedOrigins("*")//允许跨域访问的源.allowedMethods("GET", "POST", "PUT", "DELETE", "HEAD") //允许请求的方法.maxAge(16800) //预检间隔时间.allowedHeaders("*")//允许头部设置.allowCredentials(true); //是否发送cookie}}