邮递员的回复是
{
"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
为null?可能是什么问题?
我的问题不同于 Part of JSON response from server is returning null: Android 它丢失了一个键,而我有一个键,但值为空。
答案 0 :(得分:0)
由我的同事启发。将json响应PLC_id
更改为小写即可。
因此,我搜索了与json uppercase
相关的内容,发现以下问题与我的情况最相关。
Spring REST consuming JSON uppercase vs lowercase
因此,一种方法是更改响应主体。 另一个是
您可以使用@JsonProperty批注覆盖变量名称。
@JsonProperty("phone") public String PHONE;
还有其他相关问题,主要是关于案例问题。
Is there any way to create JSON object with keys as upper case?
How to convert all keys in JSON response to uppercase? (JAVA)
Jackson - Java bean to JSON string : uppercase variable converted into lowercase in JSON
Jackson - converting java object to json - Need all key keys to upper case
Is there any way to create JSON object with keys as upper case?