Я использую Spring boot v1.2.3 с помощью quickxml jackson annotations, и я пытаюсь разоблачить всю коллекцию сестер в один ответ JSON, но может Кажется, что вы получаете добавленную коллекцию в ответ, используя правильные аннотации и секретный код.Добавление коллекции в ответ JSON с использованием Spring Boot и quickxml jackson и @OneToMany аннотации
Может ли кто-нибудь помочь мне устранить проблему?
Я не уверен, что это что-то в весеннем ботинке - причина или просто взаимопонимание между аннотациями. Я хотел бы, чтобы коллекция была добавлена в json из дочерней базы данных.
@Entity
@Table(name = "station")
public class Station implements Serializable {
@OneToMany(mappedBy = "station", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
private Set<StationTank> stationTanks;
@JsonManagedReference("station-tank")
public Set<StationTank> getStationTanks() {
System.out.println("get tank count: " + stationTanks.size());
return stationTanks;
}
public void setStationTanks(Set<StationTank> stationTanks) {
System.out.println("set tank count: " + stationTanks.size());
this.stationTanks = stationTanks;
}
}
@Entity
@Table(name = "station_tank")
public class StationTank implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "station_tank_id")
private long stationTankId;
@Column(name = "active",nullable=true, columnDefinition="Boolean default false")
private Boolean active;
@ManyToOne(cascade = CascadeType.ALL, optional = false) // as defined in schema
@JoinColumn(name = "station_id")
private Station station;
@JsonBackReference("station-tank")
public Station getStation() {
return station;
}
public void setStation(Station station) {
this.station = station;
}
}
Вызов этого URL у меня нет коллекции родственной добавил к ответу, и я хочу коллекцию родственной в ответ. http://localhost:8080/stations/1
{
"stationId": 1,
"stationName": "station name 1",
"active": true,
"_links":
{
"self":
{
"href": "http://localhost:8080/stations/1"
},
"stationTanks":
{
"href": "http://localhost:8080/stations/1/stationTanks"
}
}
}
Но когда я называю URL для сбора родственного я получаю сбор родственного штраф, просто я хочу коллекцию родственной в вышеуказанном ответ.
{
"_embedded":
{
"station_tanks":
[
{
"stationTankId": 1,
"active": true,
"_links":
{
"self":
{
"href": "http://localhost:8080/station_tanks/1"
},
"station":
{
"href": "http://localhost:8080/station_tanks/1/station"
}
}
},
{
"stationTankId": 2,
"active": true,
"_links":
{
"self":
{
"href": "http://localhost:8080/station_tanks/2"
},
"station":
{
"href": "http://localhost:8080/station_tanks/2/station"
}
}
}
]
}
}
Кто-нибудь знает, что генерирует «_links»: раздел? Мне интересно, генерируется ли это из весенней загрузки или библиотеки quickxml jackson. –