You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级spring-web至6.0.0+后出现ResponseStatusException访问权限错误

Spring Web 6.x升级后ResponseStatusException.status访问报错解决方法

问题原因

Spring Web 6.0(含6.0.4版本)对ResponseStatusException类做了重构,将原本的status字段从protected改为私有,直接访问throwable.status会触发编译错误:Cannot access 'status': it is invisible (private in a supertype) in 'ResponseStatusException'。

解决方法

使用类提供的公开访问方法替代直接访问私有字段:

修改前代码

is ResponseStatusException -> {
    serverWebExchange.response.statusCode = throwable.status
}

修改后代码

is ResponseStatusException -> {
    serverWebExchange.response.statusCode = throwable.statusCode
}

或者兼容Java风格的写法:

is ResponseStatusException -> {
    serverWebExchange.response.statusCode = throwable.getStatusCode()
}

补充说明

Spring 6.x在核心类设计上更严格遵循封装原则,不再直接暴露异常类的内部字段,统一通过标准getter方法提供访问入口。后续版本升级时,建议优先参考官方API变更说明,避免依赖类的内部实现细节。

内容的提问来源于stack exchange,提问作者EXEC1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 02:40:28