SpringCloud中Gateway简单介绍
SpringCloud之Gateway
流程:请求到达api网关时,对符合断言的请求进行过滤,再发送给指定服务,返回数据后再次过滤,再返回给指定客户端
1、引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${latest.version}</version>
</dependency>
2、在@SpringBootApplication注解处开启服务注册发现 @EnableDiscoveryClient,在application.properties中配置nacos配置中心地址spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848,应用名:spring.application.name=xxx,在bootstrap.properties中指定nacos命名空间及注册到nacos的应用名spring.application.name=gateway。
3、例如希望我们在访问/hello?url=baidu时转向www.baidu.com
在application.yml中配置
spring:
cloud:
gateway:
routes:
- id: test_route
uri: https://www.baidu.com
predicates:
- Query=url,baidu
- id: qq_route
uri: https://ww.qq.com
predicates:
- Query=url,qq
此时尝试访问localhost:88/hello?url=baidu,发现确实到了百度页面,但是页面未找到,原因是,转发时把访问路径也转发过去了,实际访问的是www.baidu.com/hello