史上最强项目实战(六)——网关服务黑白名单拦截
我们现在已经成功搭建服务注册中心、分布式配置中心,以及网关服务。但是我们只是简单的把分布式配置中心以及网关服务注册到服务注册中心,然后简单的从分布式配置中心读取配置,并没有真正体会到他们各自的特性。今天我们就以网关拦截器为例,通过定义黑白路径体验网关服务的拦截器功能以及分布式配置中心的自动刷新功能。 1. 路径拦截配置类 我们准备把黑白路径做成可配置的,这样一来,后续若有需求变更,直接改配置即可。其中 @Data 注解时 lombok 依赖的,用于声明这是一个实体类,将自动为成员变量 allowPaths 和 forbidPaths 生成 getter 和 setter 方法; @RefreshScope 用来指定配置刷新范围,自动刷新时会扫描到该类。 @Data @RefreshScope @ConfigurationProperties ( prefix = "leyou.gateway.filter" ) public class FilterProperties { /** * 允许访问,直接通过的请求路径 */ private List < String > allowPaths ; /** * 禁止访问请求路径 */ private List < String > forbidPaths ; } 2. 路径拦截器 @Slf4j @Component public