3 つのタイプ (タイプ A、B、および C とします) のいずれかのリストを返すデータ フィードがあります。上記のタイプはすべて 2 つのプロパティを共有し、残りのプロパティはタイプに固有です。パターンを使ってみました。
abstract class Parent (val type: String, val id: String)
と
data class TypeA(override val type: String ... )
data class TypeB(override val type: String ... )
Retrofit を使用して、リストをデシリアライズしようとしています
List<? extends Parent>
Kotlinでは
List<out Parent>
ただし、GSON は抽象化された親クラスをインスタンス化する際に逆シリアル化エラーをスローしています。
java.lang.RuntimeException: Failed to invoke public com.XX.Parent() with no args
Kotlinでこれを実装する方法はありますか?