I Frühling 4.x bin mit und ich habe folgende RestController Methode, die Liste aller FlügeFrühling RestController XmlElement Anmerkung in Wrapper-Klasse ignorieren
@RequestMapping(produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE}, method = RequestMethod.GET)
public FlightWrapper returnAllFlights() {
List<FlightDto> flights = data.findAll();
return new FlightWrapper(flights);
}
FlightWrapper Klasse sieht wie folgt aus (rootElement = Flug s zurückkehren sollte element = Flug):
@XmlRootElement(name = "flights")
public class FlightWrapper {
private List<FlightDto> flights;
public FlightWrapper() {}
public FlightWrapper(List<FlightDto> flights) {
this.flights = flights;
}
@XmlElement(name = "flight")
public List<FlightDto> getFlights() {
return flights;
}
public void setFlights(List<FlightDto> flights) {
this.flights = flights;
}
}
Das Problem ist, wenn ich returnAllFlights() aufrufen, es xml in diesem Format zurück:
<FlightWrapper>
<flights>
<flights>
....
</flights>
<flights>
....
</flights>
</flights>
</FlightWrapper>
erwartete ich, dass einzelner Flug Flug und ganze Liste von Flügen jedoch hat Tag Flüge sollten sein sollte, wie Sie Objekte in der Liste sehen können, den gleichen Tag wie die Liste selbst haben.
Irgendeine Idee, wie man es repariert?
Reinigen und neu erstellen Sie Ihren Code, es ist praktisch fast das gleiche wie ein früheres Projekt, das ich hatte. Könnten Sie die OXM- oder Marshaller-Technologiekonfiguration hinzufügen? Dein Controller ist '@ RestController'? –
Ja mein Controller ist @RestController Ich benutze Spring Boot 1.4.1. Für die XML-Unterstützung habe ich gerade die Abhängigkeit zu maven jackson-dataformat-xml hinzugefügt –