- 首先我们创建一个项目并引入gateway依赖
2.跟往常一样,配置nacos配置中心,nacos服务注册与发现功能 在 application.properties 中配置
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.application.name=gulimall-gateway
server.port=88
- 我们还需要配置nacos配置中心,首先我们需要在nacos注册中心的命名空间中,新建一个gateway命名空间,给他一个独立的配置中心文件
-
由于我们在common服务中引入了mp,所以启动的时候自动配置数据源,但gateway里没有配置数据源,所有这里我们需要排除数据源 @SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
-
这里我们配置好了gateway网关,然后我们模拟访问一个请求,然后经过路由跳转访问到它所需要的服务,下面我们来配置路由
spring: # 配置路由规则 这里两个规则,如果请求路径中带有url字段,并值为qq则跳转qq.com 值为baidu 跳转 baidu.com
cloud:
gateway:
routes:
- id: test_route
uri: https://www.baidu.com
predicates:
- Query=url,baidu # 请求路径中带有url字段
- id: qq_route
uri: https://www.qq.com
predicates:
- Query=url,qq
这里一共配置了两组配置,注释写的也挺详细。我们就可以模拟发送请求,localhost:88/hello?url=baidu
6.配置中心的配置,这个我们在bootstrap.properties中配置,因为springboot加载时他的优先级最高
spring.cloud.nacos.config.namespace=bd44d3b2-22bd-4168-b033-9ac1970c8aa6
spring.cloud.nacos.config.server-addr=127.0.0.1:8848