1.Gateway是什么
SpringCloud Gateway 作为 SpringCloud 官方推出的第二代网关,网关作为流量的入口,常用功能包括路由转发、权限校验、限流控制等。
2.核心概念
- 路由。路由是网关最基础的部分,路由信息有一个 ID、一个目的 URL、一组断言和一组 Filter 组成。如果断言路由为真,则说明请求的 URL 和配置匹配
- 断言。Java8 中的断言函数。Spring Cloud Gateway 中的断言函数输入类型是 Spring5.0 框 架中的 ServerWebExchange。Spring Cloud Gateway 中的断言函数允许开发者去定义匹配 来自于 http request 中的任何信息,比如请求头和参数等。、
- 过滤器。一个标准的 Spring webFilter。Spring cloud gateway 中的 filter 分为两种类型的 Filter,分别是 Gateway Filter 和 Global Filter。过滤器 Filter 将会对请求和响应进行修改 处
3.使用
3.1添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
3.2增加application.yml文件内容
spring:
cloud:
gateway:
#路由
routes:
# - 代表的是一个数组
- id: test_route
#地址
uri: https://www.baidu.com
#断言:路径相匹配时进行路由
predicates:
#Query是固定写法 url是参数名称,baidu是参数值
- Query=url,baidu
- id: qq_route
uri: https://www.qq.com
predicates:
- Query=url,qq