いくつかのメソッドma、mb、mcを持つ 1 つのオブジェクトAがあり、このオブジェクトはmaとmbのみを持つインターフェイスBを実装します。
Bをシリアル化すると、json 応答としてmaとmbのみが期待されますが、 mcも得られます。
この動作を自動化して、シリアル化するすべてのクラスが実装ではなくインターフェイスに基づいてシリアル化されるようにしたいと思います。
どうすればいいですか?
例:
public interface Interf {
public boolean isNo();
public int getCountI();
public long getLonGuis();
}
実装:
public class Impl implements Interf {
private final String patata = "Patata";
private final Integer count = 231321;
private final Boolean yes = true;
private final boolean no = false;
private final int countI = 23;
private final long lonGuis = 4324523423423423432L;
public String getPatata() {
return patata;
}
public Integer getCount() {
return count;
}
public Boolean getYes() {
return yes;
}
public boolean isNo() {
return no;
}
public int getCountI() {
return countI;
}
public long getLonGuis() {
return lonGuis;
}
}
シリアライゼーション:
ObjectMapper mapper = new ObjectMapper();
Interf interf = new Impl();
String str = mapper.writeValueAsString(interf);
System.out.println(str);
応答:
{
"patata": "Patata",
"count": 231321,
"yes": true,
"no": false,
"countI": 23,
"lonGuis": 4324523423423423500
}
予想される応答:
{
"no": false,
"countI": 23,
"lonGuis": 4324523423423423500
}