В Spring Data Rest Repository пропущена проблема типа свойства - PullRequest
0 голосов
/ 10 ноября 2018

Я выставляю свою полиморфную модель в репозиторий spring rest, и моя проблема в том, что я пытаюсь получить всю рекламу из БД с использованием созданного репо, поле "тип", созданное @JsonTypeInfo, опущено. Когда я получаю свои объявления, используя тот же метод репо "findAllAdvertisements (Pageable pageable)" в пользовательском контроллере отдыха, все в порядке

@Entity
@Table(name = "advertisements")
public class Advertisement {}

@Entity
@Table(name = "properties")
@Inheritance(strategy = InheritanceType.JOINED)
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonSubTypes({
        @JsonSubTypes.Type(value = Flat.class, name = "flat"),
        @JsonSubTypes.Type(value = Ground.class, name = "ground"),
        @JsonSubTypes.Type(value = House.class, name = "house")
})
public class Property {}

@Entity
public class Flat extends Property {}

@Entity
public class Ground extends Property {}

@Entity
public class House extends Property {}

JSON результат с использованием репо

{
  "title" : "title 1",
  "price" : 100000.00,
  "description" : "description 1",
  "createdDate" : "09-11-2018",
  "property" : {
    "localization" : "localization 1",
    "area" : 100.0,
    "floorsNumber" : 1,
    "roomsNumber" : 1
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/advertisements/1"
    },
    "advertisement" : {
      "href" : "http://localhost:8080/advertisements/1"
    }
  }
}

JSON результат с использованием пользовательского контроллера

{
    "id" : 1,
    "title" : "title 1",
    "price" : 100000.00,
    "description" : "description 1",
    "createdDate" : "09-11-2018",
    "property" : {
        "type" : "flat",
        "id" : 2,
        "localization" : "localization 1",
        "area" : 100.0,
        "floorsNumber" : 1,
        "roomsNumber" : 1
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...