跨源资源共享(Cross origin resource Share,CORS)是大多数浏览器实现的W3C规范,它允许您以灵活的方式指定授权的跨域请求类型,而不是使用一些不太安全、功能也不太强大的方法,如IFRAME或JSONP。
从版本4.2开始,Spring MVC支持CORS。在Spring Boot应用程序中使用带有@CrossOrigin注释的控制器方法CORS配置不需要任何特定配置。可以通过使用定制的addCorsMappings(CorsRegistry)方法注册WebMvcConfigurer bean来定义全局CORS配置,如下例所示:
@Configuration(proxyBeanMethods = false)
public class MyCorsConfiguration {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**");
}
};
}
}