【发布时间】:2018-06-02 18:54:49
【问题描述】:
我在 Eclipse 中使用 Spring MVC 做一个 Web 服务,它从数据库中读取数据并将其转储为 JSON。我最近在类中添加了一个新变量,用于保存数据库中表中的一行,例如:
public class DbRow {
private Integer Id;
private String Label;
...
public String getLabel() {
return Label;
}
public void setLabel(String label) {
this.Label = label;
}
}
但是,随着后来数据库中列的名称发生变化,我通过重命名类变量(使用 Refactor -> Rename... 或 Eclipse 中的 Alt + Shift + R)以及它的 getter 和 setter 来反映这一点像这样的方法:
public class DbRow {
private Integer Id;
private String Title;
...
public String getTitle() {
return Title;
}
public void setLabel(String title) {
this.Title = title;
}
}
我现在的问题是,在服务的 JSON 输出中,该字段仍然是这样的旧名称
{"Id":"100","Label":"Test"}
而不是
{"Id":"100","Title":"Test"}
这会破坏我在 Eclipse 中使用 TestNG 运行的 mockMvc 测试(例如错误 org.springframework.restdocs.sn-p.SnippetException:在有效负载中找不到具有以下路径的字段:[Title])。
我该如何解决这个问题?
【问题讨论】:
-
方法
setLabel(String title)可能还没有被重构。 -
你确定要重命名getter和setter吗?
-
其实是getter,我把例子混了。
标签: java json spring eclipse spring-mvc