axios在跨域时默认不携带cookie
controller中注解@CrossOrigin的origins默认是是*
axios规定不能是*
应该和前端保持一致
所以需要手动配置一下:
以上方法如果还不行,可以再配置一个Config类:
@SpringBootConfiguration
public class MyConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry corsRegistry){
/**
* 所有请求都允许跨域,使用这种配置就不需要
* 在interceptor中配置header了
*/
corsRegistry.addMapping("/**")
.allowCredentials(true)
.allowedOrigins("http://localhost:8080")
.allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
.allowedHeaders("*")
.maxAge(3600);
}
}