Ich arbeite an einem REST-Service mit der Spring-Boot-Bibliothek von Spring Framework. Ich erhalte Antworten von meinen Diensten als JSON, mein Problem ist, dass ich eine Elternklasse verwende, um alle Objekte zu speichern, die als Ergebnis einer Anfrage gesendet werden, und die Antwort wird ohne Namen auf dem JSON-Array gesendet. Spring Responsebody, Objekte der Namensliste in JSON
Dies ist die Ausgabe für einen meiner Tests:
success: true,
message: null,
data: [
{ },
{
vehicleBatteryId: 3,
modelTypeId: 3,
cycleCount: -9640,
currentCapacity: -9640,
manufactureDate: 414037682000,
manufacturerId: 10,
modeTypeCode: 461271880,
partStatus: 215692740,
lastMaintenanceDate: 428880743000
},
{
vehicleBmsId: 3,
bmsModelId: 5,
manufactureDate: 942436247000,
manufacturerId: 4,
lastMaintenanceDate: 437823118000,
partStatus: 477293493,
replaceDate: 179716409000,
replaceDistance: 4783810
}...
Und das ist das Ergebnis ich zu bekommen habe versucht:
success: true,
message: null,
data: {
Property1:{ },
Property2:{
vehicleBatteryId: 3,
modelTypeId: 3,
cycleCount: -9640,
currentCapacity: -9640,
manufactureDate: 414037682000,
manufacturerId: 10,
modeTypeCode: 461271880,
partStatus: 215692740,
lastMaintenanceDate: 428880743000
},...
Dies ist die Elternklasse. Ich will, um es für jede Antwort in der Lage meinen Dienst erstellt, unabhängig von den Details dieser Antwort
public class MasterResponse extends RequestStatus{
private List<Object> data;
public MasterResponse() {
init();
}
public MasterResponse(boolean _success, String _message){
super(_success, _message);
init();
}
private void init(){
this.data = new ArrayList<Object>();
}
public void addModel(Object newModel){
this.data.add(newModel);
}
public void clearData(){
this.data=null;
}
public List<Object> getData() {
return data;
}
public void setData(List<Object> data) {
this.data = data;
}
}
Wer irgendwelche Ideen? So weit ich sagen kann, dass Spring Jackson zu json konvertiert, erkunde ich, was ich mit den json view-Funktionen machen kann, die sie im Moment bereitstellen.
können Sie diese Zeile eindeutig erklären ich es in der Lage sein wollen, für jede Antwort erzeugt meinen Dienst unabhängig von den Details –
ich auf meinem Controller verwendet '@ RestController' Anmerkung In meinem Fall dieser Antwort zu verwenden und "Elternobjekte" von diesem Controller zurückgegeben. Sie arbeiteten total gut und gaben alle Namen der Klassen. –
@Rahul Ich habe viele verschiedene Modelle, die unterschiedliche Rückgabetypen darstellen. Zum Beispiel: Fahrzeuge und Firmen. Ich möchte sie zu einer "MasterResponse" hinzufügen, unabhängig davon, ob es sich um eine Fahrzeugklasse oder eine Unternehmensklasse handelt. –