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

posted @ 2021-12-21 10:31  阿伦啊  阅读(91)  评论(0编辑  收藏  举报