最简配置,直接加注解,可加在类上面或者方法上面。
@CrossOrigin(allowCredentials = "true", allowedHeaders = "*")
一直就这么用,也没毛病。直到最近把一个ssh项目升级为springboot,这个注解失效了。然后按照网上教程给改成了下面这样:
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowCredentials(true)
.allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE","PATCH")
.allowedHeaders("*")
.exposedHeaders("Access-Control-Allow-Origin")
.maxAge(3600);
}
}
大部分接口都没问题,上传接口不行,一直报错:
has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource

在将SSH项目升级到SpringBoot时,发现原先的跨域注解不起作用。经过排查和学习,了解到需要正确配置CORS以解决跨域问题。在预检请求中遇到'Access-Control-Allow-Origin'头缺失的问题,最终参照文章'SpringBoot配置CORS解决跨域时的坑'找到了解决方案,强调了深入研究框架源码和增强知识深度的重要性。
最低0.47元/天 解锁文章
1万+





