Вот ситуация, когда у меня есть два класса pojo (один расширяет другой).В моем родительском запросе класса pojo есть jsoninclude без объекта-обертки, и мой ребенок должен работать так же, когда я передаю объект-обертку.
Здесь меня больше всего беспокоит то, что само мое pojo не вызывается, пожалуйста, помогите мне
//sample parent pojo class with json properties
@JsonInclude(Include.NON_EMPTY)
@XmlRootElement(name = "employee")
@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
@JsonRootName("employee")
@JsonTypeName("employee")
//and tired included this also in employee class
//tired with annotations also
//@JsonTypeInfo(include = As.WRAPPER_OBJECT, use = Id.NAME)
//@JsonSubTypes(value = {@Type(value = EmployeeV2.class)})
public class Employee{
private empid;
private empname;
//with getters and setters
//to register the subtypes into the parent pojo
static
{
JSON_MAPPER.registerSubtypes(EmployeeV2.class);
}
}
Now i have extended the same POJO as
//my child pojo class
@ApiVersion("2.2")
@JsonTypeName("employee")
@JsonInclude(Include.ALWAYS)
Class EmployeeV2 extends Employee{
}
My new version API is not getting invoked when i pass my request with **wrapper object**
//request with wrapper object
{
"employee":
{
"empid": "121",
"empname": "TestDownloadJob1"
}
}
working fine without the wrapper object,request without wrapperobject
{
"empid": "121",
"empname": "TestDownloadJob1"
}
at the controller layer added the **@ExposesResourceFor(EmployeeV2.class)** where my class can accept array of resources.