SpringCloud gateway
为什么需要网关
网关功能:
- 身份认证和权限校验
- 服务路由、负载均衡
- 请求限流
网关作用
- 对用户请求做身份认证、权限校验
- 将用户请求路由到微服务,并实现负载均衡
- 对用户请求做限流
如何对网关接收到的请求body进行处理
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
省略....
String method = request.getMethodValue();
if ("POST".equals(method)) {
ServerRequest serverRequest = new DefaultServerRequest(exchange);
List<String> list = new ArrayList<>();
Mono<String> modifiedBody = serverRequest.bodyToMono(String.class)
.flatMap(originalBody -> modifyBody()
.apply(exchange,Mono.just(originalBody)))