三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

feign 调用 如果 服务返回有 n个字段 ,客户端调用 响应 对象中只有n-1 个字段

feign 调用 如果 服务返回有 n个字段 ,客户端调用 响应 对象中只有n-1 个字段

在 Feign 调用中,服务端返回了 N 个字段,但客户端响应对象只定义了 N-1 个字段,这完全不会报错!Feign 的反序列化(JSON → Java 对象)是宽松的@JsonIgnoreProperties(ignoreUnknown = true) 默认就是开启的,多出来的字段会被忽略。

但如果少了某个字段(客户端有,服务端没返回),那这个字段就会是 null(或默认值),并且不会报错,只有后续业务逻辑使用它时才可能触发 NullPointerException


一、不同情况的行为分析

情况是否报错客户端字段值风险
服务端多字段,客户端少字段❌ 不报错客户端字段正常赋值,多余字段被忽略
服务端少字段,客户端多字段❌ 不报错客户端多出的字段为 nullNullPointerException
字段名不一致❌ 不报错匹配不上的字段为 nullNullPointerException
类型不一致
← 返回列表