以前使用的属性始终显示在RequestBody示例(SwaggerUI)和ResponseBody(json)

时间:2017-10-10 15:59:23

标签: java mysql json spring rest

我正在我的一个软件包中编写一个链接到MySQL的Spring启动应用程序:

  

com.Employee.DataManagement.salaries

enter image description here

我拼错了一个房产的名字:

@Column(name = "from_date")
java.sql.Date fromeDate

正如您所看到的,还有一个额外的" e"在名字里。但是当时我没有意识到并且运行主java文件(带有注释@SpringBootApplication的文件)几次。然后我删除了额外的" e"这个属性变成了这个:

@Column(name = "from_date")
java.sql.Date fromDate

Setter和Getter看起来像这样:

public Date getFromeDate() {
    return fromDate;
}

public void setFromeDate(Date fromDate) {
    this.fromDate = fromDate;
}

然而,当我再次运行java文件时,旧的属性名称不会消失。这是一些截图:

当我使用GET并获得响应时,JSON中的起始日期始终显示为以前的名称。 enter image description here

当我想将新数据发布到数据库中时,Swagger给出的示例如下: enter image description here

但是在RequestBody中,我可以忽略misspell属性,只使用正确的属性,写成这样:

{ "embeddedKeyId": { "employee": { "emp_no": 123123 }, "fromDate": "2012-10-27", }, "salary": 450, "toDate": "2333-08-09" }

但输出仍会显示为旧的属性名称。

我搜索了整个项目,看看我是否忘记更改某些属性名称,但我什么都没有。

最后,这是数据库中工资表的屏幕截图 enter image description here

1 个答案:

答案 0 :(得分:0)

答案来自varren的回答

更改setter和getter:

public Date getFromeDate() {
  return fromDate;
}

public void setFromeDate(Date fromDate) {
  this.fromDate = fromDate;
}

要:

public Date getFromDate() {
  return fromDate;
}

public void setFromDate(Date fromDate) {
  this.fromDate = fromDate;
}

没有" e"。