背景
有以下的實體類:
@Getter
@Setter
@ToString
public class Money {
private double remain;
}
@Getter
@Setter
@ToString
public class PersonInfo {
private String name;
private int id;
}
@Getter
@Setter
@ToString
public class Account {
private Money money;
private PersonInfo personInfo;
}
在api中返回序列化之後是這樣的:
{
"money": {
"remain": 1030.0
},
"personInfo": {
"name": "tangbaobao",
"id": 1
}
}
但是你如果想要扁平對象,只要內層對象,這時候可能會再新建一個實體類用來書寫這些屬性,但是那樣會多一個沒意義的實體類,並且對後期不好維護,好的解決方法見下邊:
解決
使用@JsonUnwrapped
來扁平對象
@Getter
@Setter
@ToString
public class Account {
@JsonUnwrapped
private Money money;
@JsonUnwrapped
private PersonInfo personInfo;
}
結果
{
"remain": 1030.0,
"name": "tangbaobao",
"id": 1
}