【发布时间】:2019-06-27 02:31:08
【问题描述】:
邮递员的回复是
{
"relation": [
{
"trans_id": 1,
"data": {
"PLC_id": 1,
"temp_id": 1,
"sla_id": 1
}
}
]
}
得到响应的方式是
Mono<ClientResponse> response = WebClient.builder()
.baseUrl(baseUrl)
.build()
.post()
.uri("/sync")
.contentType(MediaType.APPLICATION_JSON_UTF8)
.accept(MediaType.APPLICATION_JSON_UTF8)
.syncBody("{\"id\":1}")
.exchange();
Info result = response.block().bodyToMono(Info.class).block();
但结果是这样的
Info(relation=[Trans(trans_id=1, data=PLC(PLC_id=null, temp_id=1, sla_id=1))])
POJO PLC 类是
import lombok.Data;
@Data
public class PLC {
private Integer PLC_id;
private Integer temp_id;
private Integer sla_id;
}
拼写检查了几次,它们是相同的。
那么为什么PLC_id 为空?可能是什么问题?
我的问题不同于 Part of JSON response from server is returning null: Android 它缺少一个键,而我有键但具有空值。
【问题讨论】:
-
也添加你的关系类。
-
可以添加生成的lombok代码吗?我怀疑用大写字母命名该字段会导致生成一些奇怪的东西。
-
否则,请尝试手动添加 getter/setter
-
@orirab 我认为根本原因与那部分无关,请参阅我的回答。
-
可能是,公元前您有一个私有字段,因此获取它的唯一方法是通过 getter/setter,因此它们的命名与您的答案基本相同,所以我很高兴您解决了它:)