添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
添加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项目中加入改配置类可解决跨域问题。
微服务环境中配置路由
# 服务端口
server.port=7070
# 服务名
spring.application.name=service-gateway
# nacos服务地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
#使用服务发现路由
spring.cloud.gateway.discovery.locator.enabled=true
#路由的id,没有规定规则但要求唯一,建议配合服务名
spring.cloud.gateway.routes[0].id=service-user
#匹配后提供服务的路由地址,在微服务环境中为lb:服务名,其他环境可以是具体域名或ip
spring.cloud.gateway.routes[0].uri=lb://service-user
#匹配规则,下面为请求路径中带user
spring.cloud.gateway.routes[0].predicates= Path=/*/user/**
例如gateway服务于8081端口启动,localhost:8081/api/user/getname
这个请求会被转发到service-user/api/user/getname
,localhost:8081/api/user/getage/123
这个请求会被转发到service-user/api/user/getage/123
。
其他gateway的配置方法可以参考: https://cloud.tencent.com/dev...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。