使用 Spring Cloud Gateway 解决跨域问题
在Spring Cloud Gateway中解决跨域问题,可以通过添加一个全局过滤器GlobalCorsFilter。以下是一个简单的示例代码:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.reactive.config.CorsRegistry;
import org.springframework.web.reactive.config.WebFluxConfigurer;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
@Configuration
public class CorsGlobalConfiguration {
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
config.addAllowedOrigin("*"); // 允许任何源
config.addAllowedHeader("*"); // 允许任何头
config.addAllowedMethod("*"); // 允许任何方法
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
}
这段代码定义了一个全局的CORS配置,允许所有源、头和方法,这样就可以解决跨域问题。在实际应用中,应根据具体需求设置合适的允许源、头和方法。
评论已关闭