Джексон JSON - Использование аннотации @JsonTypeInfo для обработки типов Generics - PullRequest
0 голосов
/ 12 марта 2020

У меня есть эти классы, которые я хочу сериализовать / десериализовать с Джексоном и Ломбоком

@Getter
@NoArgsConstructor
@JsonInclude(NON_NULL)
public class Hostel<T> {

    @JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, property="@class")
    protected @Valid T place;


    public Hostel(T place) {
        this.place = place;

    }
}


@Data
@NoArgsConstructor
@JsonInclude(NON_NULL)
public class MyHostel extends Hostel<Country> {

    @Builder
    public MyHostel(Country country)  {
        super(country);
    }

}

, но у меня есть эта ошибка при сериализации и десериализации

org.springframework.http.converter.HttpMessageNotReadableException: 
JSON parse error: Missing type id when trying to resolve subtype of [simple type, class Country]: missing type id property '@class' (for POJO property 'place'); 
nested exception is com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Missing type id 
when trying to resolve subtype of [simple type, class Country]: missing type id property '@class' (for POJO property 'place')
...