解决springcloud微服务架构系统中和单体springboot架构配置全局CORS。

解决微服务系统中配置全局CORS。

只需要在api gateway的application.properties里面配置:

spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowedOrigins=*
spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowedMethods=GET,POST,PUT,DELETE,OPTIONS
spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowedHeaders=*
spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowCredentials=false

allowedOrigins后面可以是*,表示允许所有的origin,也可以配置具体的doman例如:http://your-frontend.com。注意:只需要在api gateway里面配置,其他后端service米面不需要在配置cros。

在单体架构架构中配置全局cors

@Configuration
public class GlobalCorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("http://localhost", "http://your-frontend.com", "null") // Specify your allowed origins here
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                .allowedHeaders("*")
                .allowCredentials(true); // Enable credentials if needed
    }
}

allowedOrigins也可以设置"*",表示允许所有的origin。

在controller或者具体的API上配置CORS

主要加在controller和具体的API上面加上注解like : @CrossOrigin(origins = “http://localhost:5000”)

上一篇:总结一下 Promise,怎么使用,如何手写 promise


下一篇:每日回顾:简单用C写 归并排序