Ich mache einen Webdienst mit Spring MVC in Eclipse, der Daten aus einer Datenbank liest und sie als JSON ablegt. Ich habe vor kurzem eine neue Variable in der Klasse, die eine Zeile aus einer Tabelle in der Datenbank, zum Beispiel zu halten verwendet wird:Eine Klassenvariable umbenennen, die in der JSON-Ausgabe nicht enthalten ist
public class DbRow {
private Integer Id;
private String Label;
...
public String getLabel() {
return Label;
}
public void setLabel(String label) {
this.Label = label;
}
}
jedoch, wie später der Name der Spalte in der Datenbank geändert, überlegte ich dies durch Umbenennen die Klassenvariable (mit Umgestalten -> Umbenennen ... oder Alt + Shift + R in Eclipse) sowie die Getter und Setter-Methoden wie folgt aus:
public class DbRow {
private Integer Id;
private String Title;
...
public String getTitle() {
return Title;
}
public void setLabel(String title) {
this.Title = title;
}
}
und nun mein Problem ist, dass in der JSON-Ausgabe von der Service ist das Feld immer noch mit seinem alten Namen wie dieser
{"Id":"100","Label":"Test"}
statt
{"Id":"100","Title":"Test"}
Das bricht mir mockMvc Test, den ich mit TestNG in Eclipse laufen (z Fehler org.springframework.restdocs.snippet.SnippetException: Felder mit den folgenden Pfaden wurden nicht in der Nutzlast gefunden: [Title]).
Wie könnte ich das beheben?
Die Methode 'setLabel (String title)' wurde möglicherweise nicht refaktoriert. – lzagkaretos
bist du dir sicher über das Umbenennen von Getter und Setter? –
Es war tatsächlich der Getter, ich mischte das Beispiel. –