全栈开发实践指南:[Spring Cloud] 搭建Vue2与网关、微服务通信并配置跨域
import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.filter.factory.rewrite.CorsConfig;
import org.springframework.cloud.gateway.filter.factory.rewrite.CorsFilter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class GatewayConfig {
@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
return builder.routes()
.route("path_route", r -> r.path("/api/**")
.uri("http://backend:8080")
.filters(f -> f.stripPrefix(1))
)
.build();
}
@Bean
public CorsFilter corsFilter() {
CorsConfig config = new CorsConfig();
config.setAllowCredentials(true);
config.addAllowedOrigin("*");
config.addAllowedHeader("*");
config.addAllowedMethod("*");
return new CorsFilter(config);
}
}
这段代码定义了一个GatewayConfig配置类,其中包含了自定义路由的配置和跨域资源共享的配置。它使用Spring Cloud Gateway来转发所有/api/**路径的请求到http://backend:8080,并使用CorsFilter来允许跨域请求。这是一个安全的实践,确保前端应用可以跨域调用后端服务。
评论已关闭