服务端把 data:null 序列化成 {},客户端泛型为 Boolean 等标量时 convertValue 抛异常,被 BladeSentinelInvocationHandler 包成 AssertionError(Error 而非 Exception),击穿调用方的 catch (Exception),把可恢复的 4xx 升级成 500。 改为记 WARN 并返回 R.fail,保留服务端 code/msg。