Код: Выделить всё
public class Person {
private String id;
private String name;
private int order;
}
Код: Выделить всё
public class Student extends Person {
@NotEmpty
private int classId;
private String className;
}
Я попытался настроить @JsonDeserialize, как показано ниже, и использовать его для как Person, так и Student (я не хочу создавать 2 класса для JsonDeserialize):
Код: Выделить всё
public class Student extends JsonDeserializer {
@Override
public List deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException {
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(jsonParser);
ObjectReader reader = mapper.readerFor(new TypeReference() {});
List requestDTOS = reader.readValue(node);
IntStream.range(0, requestDTOS.size())
.forEach(i -> requestDTOS.get(i).setOrder(i));
return requestDTOS;
}
}
Есть в любом случае можно сделать это с помощью специальной аннотации?
Что-то вроде того, как я могу создать собственную аннотацию и реализовать метод для установки порядка?
Подробнее здесь: https://stackoverflow.com/questions/793 ... on-in-java
Мобильная версия