spring cloud gateway是一个请求进来是先执行断言还是先经过过滤器
时间: 2024-04-07 13:32:42 浏览: 92
SpringCloud Finchley Gateway 缓存请求Body和Form表单的实现
在 Spring Cloud Gateway 中,请求先经过断言处理,再经过过滤器处理。具体流程如下:
1. 客户端发起请求,请求到达 Spring Cloud Gateway。
2. 断言处理器根据请求的 URL、Header、参数等信息进行匹配,判断请求是否符合路由规则。如果符合路由规则,则继续执行;否则返回 404 等错误信息。
3. 经过断言处理器匹配后,请求会被路由到目标服务。在路由过程中,会依次执行各个过滤器。
4. 过滤器会对请求进行处理,可以修改请求头、请求参数等信息,或者进行鉴权、记录日志等操作。
5. 请求到达目标服务,目标服务处理请求并返回响应。
6. 响应返回到 Spring Cloud Gateway,会依次执行各个过滤器。
7. 过滤器会对响应进行处理,可以修改响应头、响应体等信息,或者进行鉴权、记录日志等操作。
8. 经过过滤器处理后,响应会返回给客户端。
整个流程中,断言处理器先根据路由规则进行匹配,如果符合规则,则请求会被路由到目标服务,然后再依次经过各个过滤器处理。
阅读全文