GatewayFilter过滤器工厂

一、GatewayFilter是什么?用来做什么的?

GatewayFilter是网关中提供的一种过滤器。
可以对进入网关的请求和微服务返回的响应做处理,处理流程如下:
在这里插入图片描述

二、路由过滤器的种类

Spring提供了30多种不同的路由过滤器工厂:GatewayFilter Factories官方文档
下面列举几种,例如:

名称说明
AddRequestHeader给当前请求添加一个请求头
RemoveRequestHeader移除请求中的一个请求头
AddResponseHeader给响应结果中添加一个响应头
RemoveResponseHeader从响应结果中移除有一个响应头
RequestRateLimiter限制请求的流量

三、GatewayFilter过滤器使用方式

1、路由过滤器,以AddRequestHeader(请求头过滤器)为例演示

需求:给所有进入userservice服务的请求添加一个请求头:

Truth=itcast is freaking awesome!

解决方式:修改gateway服务的application.yml文件,添加路由请求头过滤:

spring:
  cloud:
    gateway:
      routes:
      - id: user-service 
        uri: lb://userservice 
        predicates: 
        - Path=/user/** 
        filters: # 过滤器
        - AddRequestHeader=Truth, Itcast is freaking awesome! # 添加请求头

2、默认过滤器,还是以上述需求为例进行演示

首先,什么是默认过滤器? 即,对所有路由均生效的过滤器。
使用格式如下:(写在default下)

spring:
  cloud:
    gateway:
      routes:
      - id: user-service 
        uri: lb://userservice 
        predicates: 
        - Path=/user/**
      default-filters: # 默认过滤项
      - AddRequestHeader=Truth, Itcast is freaking awesome! 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值