RESTeasy を使用して、JSON をペイロードから Web サーバーの POJO に変換しています。これらの POJO メンバーの 1 つが一般的な場合、問題が発生します。
例えば:
public class MainPOJO
{
private MyParentClass c;
[...]
}
public class MyParentClass
{
[...]
}
public class MyFirstChildClass extends MyParentClass
{
private int number;
[...]
}
public class MySecondChildClass extends MyParentClass
{
private boolean isTrue;
[...]
}
クライアントによって作成されたリクエスト ペイロード (PUT) では、次の json のようなものを見つけることができます (「c」属性で json 形式の MyFirstChildClass に相当するものを送信していることに注意してください)。
{
c: {number:10}
}
MainPOJO のプロパティ「c」が MyParentClass、MyFirstChildClass、または MySecondChildClass のいずれかのインスタンスになることを RESTeasy に伝える方法はありますか?
現在、MyParentClass の新しいインスタンスをインスタンス化しようとしているだけですが、そのプロパティ、たとえば "number" が無視可能としてマークされていないというエラーがスローされます。しかし、JSON のプロパティに従って、よりインテリジェントで、ツリー内の適切なクラスからオブジェクトをインスタンス化できることを願っています。
出来ますか?
ありがとう!