Gateway网关-路由的过滤器配置
生活随笔
收集整理的這篇文章主要介紹了
Gateway网关-路由的过滤器配置
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
過濾器工廠
?
GatewayFilter是網(wǎng)關(guān)中提供的一種過濾器,可以對(duì)進(jìn)入網(wǎng)關(guān)的請(qǐng)求和微服務(wù)返回的響應(yīng)做處理:
路由過濾器的種類
Spring提供了31種不同的路由過濾器工廠。例如:
| AddRequestHeader | 給當(dāng)前請(qǐng)求添加一個(gè)請(qǐng)求頭 |
| RemoveRequestHeader | 移除請(qǐng)求中的一個(gè)請(qǐng)求頭 |
| AddResponseHeader | 給響應(yīng)結(jié)果中添加一個(gè)響應(yīng)頭 |
| RemoveResponseHeader | 從響應(yīng)結(jié)果中移除有一個(gè)響應(yīng)頭 |
| RequestRateLimiter | 限制請(qǐng)求的流量 |
3.4.2.請(qǐng)求頭過濾器
下面我們以AddRequestHeader 為例來講解。
需求:給所有進(jìn)入userservice的請(qǐng)求添加一個(gè)請(qǐng)求頭:Truth=IT is freaking awesome!
只需要修改gateway服務(wù)的application.yml文件,添加路由過濾即可:
spring:cloud:gateway:routes:- id: user-service uri: lb://userservice predicates: - Path=/user/** filters: # 過濾器- AddRequestHeader=Truth, IT is freaking awesome! # 添加請(qǐng)求頭當(dāng)前過濾器寫在userservice路由下,因此僅僅對(duì)訪問userservice的請(qǐng)求有效。
默認(rèn)過濾器
如果要對(duì)所有的路由都生效,則可以將過濾器工廠寫到default下。格式如下:
spring:cloud:gateway:routes:- id: user-service uri: lb://userservice predicates: - Path=/user/**default-filters: # 默認(rèn)過濾項(xiàng)- AddRequestHeader=Truth, IT is freaking awesome!總結(jié)
過濾器的作用是什么?
① 對(duì)路由的請(qǐng)求或響應(yīng)做加工處理,比如添加請(qǐng)求頭
② 配置在路由下的過濾器只對(duì)當(dāng)前路由的請(qǐng)求生效
defaultFilters的作用是什么?
① 對(duì)所有路由都生效的過濾器
總結(jié)
以上是生活随笔為你收集整理的Gateway网关-路由的过滤器配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nacos配置管理-多环境配置共享
- 下一篇: Gateway网关-全局过滤器