15-Gateway网关-路由的过滤器配置
1.路由过滤器 GatewayFilter
GatewayFilter是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理:
为什么对请求和响应都会做处理呢?
我们的用户要想访问微服务,不能直接访问,必须先经过网关,当用户向网关发起请求时,他到底经历了什么?
经历了:请求进入网关,先要做路由,我们会有一个断言工厂,它可以基于我们配置的规则完成请求路由,去判断一下到底应该到哪一个微服务。但是路由之后是立即就向微服务发起请求了吗?不是!因为在网关里面我们还可以给我们的路由配置各种各样的过滤器,这些过滤器会形成一个过滤器链,你的请求一定要经过这些过滤器链,然后才能到达微服务。在这个过程当中,我们的过滤器就可以对进入网关的请求做各种处理。比如对请求头做一个什么处理,请求参数做个什么处理,都是可以的。当我们的请求给了微服务以后,微服务处理完了要返回一个结果,这个结果也是先到达网关,网关里面也会先经过过滤器来逐层处理这个响应结果,最终才会返回给用户。在这个过程中,过滤器可以对响应的信息做一些事情。
2.Spring提供了31种不同的路由过滤器工厂。例如:
名称 | 说明 |
---|---|
AddRequestHeader | 给当前请求添加一个请求头 |
RemoveRequestHeader | 移除请求中的一个请求头 |
AddResponseHeader | 给响应结果中添加一个响应头 |
RemoveResponseHeader |