gateway解决跨域访问

添加依赖


            org.springframework.cloud
            spring-cloud-starter-gateway

添加gateway依赖

添加配置类

@Configuration
public class CrosConfiguration {

    @Bean
    public CorsWebFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        config.addAllowedMethod("*");
        config.addAllowedOrigin("*");
        config.addAllowedHeader("*");

        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
        source.registerCorsConfiguration("/**", config);

        return new CorsWebFilter(source);
    }
}

在gateway项目中加入改配置类可解决跨域问题。

微服务环境中配置路由

#路由的id,没有规定规则但要求唯一,建议配合服务名
spring.cloud.gateway.routes[2].id=service-user
#匹配后提供服务的路由地址,在微服务环境中为lb:服务名,其他环境可以是具体域名或ip
spring.cloud.gateway.routes[2].uri=lb://service-user
#匹配规则,下面为请求路径中带user
spring.cloud.gateway.routes[2].predicates= Path=/*/user/**

例如gateway服务于8081端口启动,localhost:8081/api/user/getname这个请求会被转发到service-user/api/user/getname

你可能感兴趣的:(springcloud)