导包
gateway项目的打包方式为jar
包
<artifactId>gateway</artifactId>
<packaging>jar</packaging>
实现路由需要 nacos服务中心 , 配置中心 ,和 gateway包
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
配置
gateway中有激活gateway
配置路由的拦截规则
和配置跨域拦截
三块
在配置文件中配置了路由后,那么手动配置的跨域拦截器要注释掉。
@Bean
CorsFilter getCrosFilter(){
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
source.registerCorsConfiguration("/**", corsConfiguration);
return new CorsFilter(source);
}
gateway的配置文件
# 激活gateway
gateway:
discovery:
locator:
lower-case-service-id: true
enabled: true
# 拦截请求,并按定义的规则分配请求
routes:
- id: user
uri: lb://user
predicates:
- Path=/ums-user/**,/ums-role/**
- id: product
uri: lb://product
predicates:
- Path=/pms-brand/**
# 配置跨域拦截
globalcors:
cors-configurations:
'[/**]':
allowedHeaders: "*"
allowedOrigins: "*"
allowedMethods: "*"
修改前端访问端口号
在Vue的axios中baseURL中端口号改为gateway的端口号