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 分钟前
RAG 结果太水?用 RRF + Reranker 重排,效果翻倍提升!
java·后端·llm
CodeWithMe3 分钟前
【C/C++】EBO空基类优化介绍
开发语言·c++
SimonKing4 分钟前
吊打面试官系列:Spring为什么不推荐使用字段依赖注入?
java·后端·架构
魔镜魔镜_谁是世界上最漂亮的小仙女11 分钟前
java-集合
java·后端·程序员
真实的菜12 分钟前
消息队列高级特性与原理:解锁分布式系统的底层逻辑
java
404.Not Found12 分钟前
Day46 Python打卡训练营
开发语言·python
若水不如远方14 分钟前
java范型
java
love530love14 分钟前
【PyCharm必会基础】正确移除解释器及虚拟环境(以 Poetry 为例 )
开发语言·ide·windows·笔记·python·pycharm
凌辰揽月16 分钟前
Web后端基础(基础知识)
java·开发语言·前端·数据库·学习·算法
海奥华220 分钟前
go中的接口返回设计思想
开发语言·后端·golang