JsonTypeInfo - JsonSubTypes игнорируется при сериализации списка объектов / Spring - PullRequest
0 голосов
/ 20 февраля 2020

Привет всем, у меня весной есть бизнес-модель, которая выглядит так

Персоны = Пациенты + Персонал, Персонал = Офис + Фармацевты

Персона Pojo:

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME)
@JsonSubTypes({
@Type(value = Patient.class, name = "Patient"),
@Type(value = Staff.class, name = "Staff")
})

@NodeEntity 
public abstract class Person {
.....
}

Пациент Pojo - нормальный класс, который расширяет Человек. Pojo персонала:

@JsonTypeInfo(
    use = JsonTypeInfo.Id.NAME,
    include = JsonTypeInfo.As.PROPERTY,
    property = "type")
@JsonSubTypes({
@Type(value = Office.class, name = "Office"),
@Type(value = Pharmacist.class, name = "Pharmacist")
})

@JsonPropertyOrder({"staffId"})
@NodeEntity
public class Staff extends Person {
....
}

И Pojos Office + Staff - это пустой расширяющий персонал.

У меня есть конечная точка на ... / staff, и когда я фиксирую запрос на получение, я получаю список всех сотрудников в моей базе данных (фармацевты + офис), но результат json выглядит так

"content": [
    {
        "staffId": 1,
        "neo4jId": 1575,
        "firstName": "Konstantinos",
        "lastName": "Tsolakidis",
        "gender": "Female",
        "born": "2020-02-24T12:22:33.000Z",
        "street": "Fasdg 19",
        "city": "Wdaasdsrms",
        "zip": "6034343100",
        "email": "iasdsadasd@asdd.de",
        "phone": "+4917622264630",
        "entryDate": "14-02-2020 13:25:14",
        "lastModified": "14-02-2020 13:25:14"
    },
    {
        "staffId": 2,
        "neo4jId": 1579,
        "firstName": "Konstantinos",
        "lastName": "Tsolakidis",
        "gender": "Male",
        "born": "2020-02-27T12:45:12.000Z",
        "street": "Flasdasd19",
        "city": "Wo55fadds",
        "zip": "60134500",
        "email": "asdsad@hs-wormasdasds.asdade",
        "phone": "55454",
        "entryDate": "14-02-2020 13:47:30",
        "lastModified": "14-02-2020 13:47:30"
    }

без указания типа каждого человека.

Когда я фиксирую запрос на получение на ... / персонал / 1579 я получаю,

{
        "type": "Pharmacist",
        "staffId": 2,
        "neo4jId": 1579,
        "firstName": "Konstantinos",
        "lastName": "Tsolakidis",
        "gender": "Male",
        "born": "2020-02-27T12:45:12.000Z",
        "street": "Flasdasd19",
        "city": "Wo55fadds",
        "zip": "60134500",
        "email": "asdsad@hs-wormasdasds.asdade",
        "phone": "55454",
        "entryDate": "14-02-2020 13:47:30",
        "lastModified": "14-02-2020 13:47:30"
    }

Я ожидаю, что я также получу тип каждого человека, когда я запрашиваю список всех сотрудников, как мой первый json ответ. Почему это происходит ? Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...