Gateway获取下游最终响应码

import org.springframework.cloud.gateway.filter.GatewayFilterChain;

import org.springframework.cloud.gateway.filter.GlobalFilter;

import org.springframework.core.Ordered;

import org.springframework.http.HttpStatus;

import org.springframework.stereotype.Component;

import org.springframework.web.server.ServerWebExchange;

import reactor.core.publisher.Mono;

@Component

public class DownstreamStatusLogFilter implements GlobalFilter, Ordered {

复制代码
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
    return chain.filter(exchange)
            .doAfterTerminate(() -> {
                // 获取最终的响应状态码
                HttpStatus status = exchange.getResponse().getStatusCode();
                if (status != null) {
                    System.out.println("下游状态码: " + status.value());
                }
            });
}

@Override
public int getOrder() {
    return Ordered.LOWEST_PRECEDENCE; // 确保最后执行
}

}

相关推荐
我材不敲代码2 小时前
Python实现打包贪吃蛇游戏
开发语言·python·游戏
身如柳絮随风扬3 小时前
Java中的CAS机制详解
java·开发语言
韩立学长4 小时前
【开题答辩实录分享】以《基于Python的大学超市仓储信息管理系统的设计与实现》为例进行选题答辩实录分享
开发语言·python
风筝在晴天搁浅4 小时前
hot100 78.子集
java·算法
froginwe114 小时前
Scala 循环
开发语言
m0_706653235 小时前
C++编译期数组操作
开发语言·c++·算法
故事和你915 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
Bruk.Liu5 小时前
(LangChain实战2):LangChain消息(message)的使用
开发语言·langchain
qq_423233905 小时前
C++与Python混合编程实战
开发语言·c++·算法
m0_715575345 小时前
分布式任务调度系统
开发语言·c++·算法