我正在使用 RESTeasy 将负载中的 json 转换为 Web 服务器中的 POJO。当其中一个 POJO 成员是通用的时,我遇到了一个问题。
例如:
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}
}
有没有办法告诉 RESTeasy MainPOJO 中的属性“c”可以是 MyParentClass、MyFirstChildClass 或 MySecondChildClass 的实例?
目前,它只是尝试实例化一个 MyParentClass 新实例,但抛出一个错误,指出该属性,例如,“数字”未标记为可忽略。但我希望它可以更智能,并根据 json 中的属性从树中的正确类实例化一个对象。
是否可以?
谢谢!