我正在使用RESTeasy將JSON從負載轉換爲Web服務器中的POJO。當那些POJO成員之一是通用的時,我遇到了一個問題。使用RESTeasy管理屬性繼承
例如:
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(請注意,我在JSON格式中的「C」屬性發送MyFirstChildClass相當於):
{
c: {number:10}
}
有沒有辦法告訴RestEasy的該屬性「C」在MainPOJO可以是MyParentClass,MyFirstChildClass或MySecondChildClass的實例?
目前,它只是試圖instanciate MyParentClass新實例,但拋出一個錯誤,說該屬性,例如,「數字」不標記爲可忽略的。但我希望它可以更智能化,並根據json中的屬性從樹中的正確類實例化一個對象。
可能嗎?
謝謝!
您是使用Jettison還是Jackson提供商? – Perception
我們正在使用傑克遜提供商。 – NinjaFisherman