跨域可以在前端通过
JSONP
来解决,但是
JSONP
只可以发送
GET
请求,无法发送其他类型的请
求,在
RESTful
风格的应用中,就显得非常鸡肋,因此我们推荐在后端通过 (
CORS
,
Cross
origin resource sharing
) 来解决跨域问题。这种解决方案并非
Spring Boot
特有的,在传统的
SSM
框架中,就可以通过
CORS
来解决跨域问题,只不过之前我们是在
XML
文件中配置
CORS
,
现在可以通过实现
WebMvcConfigurer
接口然后重写
addCorsMappings
方法解决跨域问题。
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowCredentials(true)
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.maxAge(3600);
}
}