Я хочу использовать json с jax-rs, мой штамп метода выглядит следующим образом.
@PostMapping("/test")
public ResponseEntity<String> consumeJson(@RequestBody TestPojo testPojo)
Мой json выглядит так
{
"code": "<code>",
"display": "<display>",
"activities": [
{
"categoryCode": "drug",
"drugDisplay" : "Ceforanide"
},{
"categoryCode": "observation",
"measurementWeight" : "80kg",
}
]
}
И у меня есть следующие pojos
public class TestPojo implements Serializable{
private String code;
private String display;
private List<ActivityPojo> activities;
// Getters & Setters
}
Теперь у меня есть суперкласс и несколько классов наследуют его
public class ActivityPojo implements Serializable{
private String categoryCode;
}
Дочерние классы
public class DrugPojo extends ActivityPojo implements Serializable{
private String drugDisplay;
// Getters & Setters
}
public class ObservationPojo extends ActivityPojo implements Serializable{
private String measurementWeight;
// Getters & Setters
}
Внутри моего метода веб-сервиса я хочу сделатьчто-то в этом роде
List<ActivityPojo> activities = testPojo.getActivities();
for(int i = 0; i < activities.size(); i++){
if( activities.get(i) instanceof DrugPojo){
// do stuff
}
else if( activities.get(i) instanceof ObservationPojo){
// do stuff
}
}
Так что я могу полиморфно сериализовать мой JSON, чтобы сделать это.Любая помощь будет оценена.