×
文章目录
摘要:在上本篇文章Spring Cloud Gateway的After路由断言工厂介绍了Spring Cloud Gateway核心概念和After路由断言,本文简单介绍Before路由断言工厂。因为比较简单所以就抛砖引玉,旨在帮助大家快速入门Spring Cloud Gateway
,欢迎大家加我微信Software_King
,进入Spring Cloud中国社区微信群交流。
1. Spring Cloud Gateway核心概念
网关简单的说就是提供一个对外统一的API入口和出口,统管企业对外的所有API出口。一般来说,网关对外暴露的URL或者接口信息,我们统称之为路由信息。如果研发过网关中间件,或者使用或了解过ZUUL的,网关的核心肯定是Filter以及Filter Chain(Filter责任链)。Spring Cloud Gateway也具有路由信息和Filter。下面介绍一下Spring Cloud gateway中最重要的几个概念:
路由(route)
:路由是网关最基础的部分,路由信息由一个ID、一个目的url、一组断言工厂和一组Filter组成。如果路由断言工厂为真,则说明请求的Url和配置的路由匹配。断言(Predicate)
: java 8中的断言函数。Spring Cloud Gateway中的断言函数输入类型是Spring 5.0框架中的ServerWebExchange。Spring Cloud Gateway中的断言函数允许开发者去定义匹配来自于http request中的任何信息,比如请求头和参数等。过滤器(filter)
:一个标准的Spring webFilter。Spring Cloud Gateway中的Filter分为两种类型的Filter,分别是Gateway Filter和Global Filter.网关 Filter实例是由Spring 框架中的网关Filter的特殊工厂构造。request在转发到目前服务之前,response在返回到调用端之前都可以被修改或者自定义。
2. 什么是Before路由断言
Before路由断言工厂
带有一个UTC时间格式
的时间参数,当请求进来的当前时间在路由断言工厂之前
会成功匹配,否则不能成功匹配。
3. Before路由断言工厂的案例
3.1 引入pom依赖
pom.xml依赖配置如下所示:
|
|
3.2 application.yml文件配置:
|
|
Spring Cloud Gateway提供两种方式去配置Before路由断言工厂,这里介绍的是yml文件的配置方式。
3.3 等价的@Bean配置
|
|
Spring Cloud Gateway提供两种方式去配置After路由断言工厂,这里介绍的是@Bean的配置方式。不管通过
yml文件配置或者通过@Bean
的方式配置是等价的。
3.4 测试如下:
访问http://localhost:8082/ 成功转发到http://xujin.org。
如果您觉得文章不错,可以打赏我喝一杯咖啡!