Spring Cloud Gateway(读取、修改 Request Body)的操作
Spring Cloud Gateway做为网关服务,是其他各服务对外中转站,通过 SCG 进行请求转发。在请求到达真正的微服务之前,我们可以在这里做一些预处理,比如:来源合法性检测,权限校验,反爬虫之类…因为业务需要,我们的服务的请求参数都是经过加密的。之前是在各个微服务的拦截器里对来解密验证的,现在既然有了网关,自然而然想把这一步骤放到网关层来统一解决。不过因为使用的 SCG,它基于 Spring 5 的 WebFlux,即 Reactor 编程,要读取 Request Body 中的请求参数就没那么容易了。本篇内容涉及 WebFlux 的响应式编程及 SCG 自定义全局过滤器,如果对这两者不了解的话,可以先看看相关的内容。说回 Body,这里是一个Flux,即一个包含 0-N 个DataBuffer类型元素的异步序列。
用户评论