Jackson con Jersey supporta classi polimorfe su JSON?Polymorphism in JSON, Jersey e Jackson
Diciamo, ad esempio, che ho una classe Parent e una classe Child che ne eredita. E, diciamo che voglio usare JSON per inviare & ricevere sia padre che figlio su HTTP.
public class Parent {
...
}
public class Child extends Parent {
...
}
Ho pensato a questo tipo di implementazione:
@Consumes({ "application/json" }) // This method supposed to get a parent, enhance it and return it back
public @ResponseBody
Parent enhance(@RequestBody Parent parent) {
...
}
Domanda: Se io do questa funzione (attraverso JSON ovviamente) un oggetto figlio, funzionerà? Anche i campi dei membri extra del bambino saranno serializzati? Fondamentalmente, voglio sapere se questi framework supportano il consumo polimorfico & rispondono.
BTW, sto lavorando con Spring MVC.
Grande risposta Usman. Tuttavia, probabilmente vuoi @JsonTypeInfo sul genitore invece che sui figli. –
Potremmo farlo anche in questo caso, nel qual caso dovremmo inserire il nome nell'annotazione JsonSubTypes qualcosa come la risposta qui: http://stackoverflow.com/questions/11798394/polymorphism-in-jackson-annotations-jsontypeinfo- utilizzo –
Funzionerà in Jersey 2 (ad esempio 2.9.1)? –