提问人:cmd 提问时间:11/14/2023 最后编辑:cmd 更新时间:11/15/2023 访问量:66
Spring Boot Server REST API 从 JSON 对象读取 null 值
Spring Boot Server REST API reads null values from JSON object
问:
我有一个使用 Spring Boot 的 REST API 设置。我尝试在 POST 请求中向 API 发送 JSON 对象以读取值并将其存储在 SQL Server 数据库表中,但它不会读取所有值。
这是我发送的 JSON 对象:
{ "filename":"recording1POST", "creationdate":"13.11.2023", "userid":1, "relativefilepath":"filepathPOST", "camerasid":1 }
这是我将其映射到的类:
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
//Entity annotation defines class as being mapped to a table.
@Entity
@Table(name="Files")
public class Recording {
@Id//Marks the primary key of the table.
@GeneratedValue(strategy = GenerationType.IDENTITY)//Primary key auto-increments.
private int fileid;
@Column(name = "filename")
private String filename;
@Column(name = "creationdate")
private String creationdate;
@Column(name = "userid")
private int userid;
@Column(name = "relativefilepath")
private String relativefilepath;
@Column(name = "camerasid")
private int camerasid;
public int getFileID() {
return fileid;
}
public void setFileID(int fileID) {
this.fileid = fileID;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public String getCreationDate() {
return creationdate;
}
public void setCreationDate(String creationDate) {
this.creationdate = creationDate;
}
public int getUserID() {
return userid;
}
public void setUserID(int userID) {
this.userid = userID;
}
public String getRelativeFilepath() {
return relativefilepath;
}
public void setRelativeFilepath(String relativeFilepath) {
this.relativefilepath = relativeFilepath;
}
public int getCamerasID() {
return camerasid;
}
public void setCamerasID(int camerasID) {
this.camerasid = camerasID;
}
}
我得到以下结果:
Spring Boot Server REST API 未从 JSON 读取值
我无法找到有关我的具体问题的任何问题。是什么原因导致的?
编辑:这些是我的数据库表:
CREATE TABLE Users (
userid int IDENTITY(1,1) PRIMARY KEY,
username varchar(255),
password varchar(255)
);
CREATE TABLE Cameras (
cameraid int IDENTITY(1,1) PRIMARY KEY,
cameraname varchar(255),
camusername varchar(255),
campassword varchar(255),
userid int FOREIGN KEY REFERENCES Users(userid)
);
CREATE TABLE Files (
fileid int IDENTITY(1,1) PRIMARY KEY,
filename varchar(255),
creationdate datetime DEFAULT(getdate()),
userid int FOREIGN KEY REFERENCES Users(userid),
relativefilepath varchar(255),
camerasid int FOREIGN KEY REFERENCES Cameras(cameraid)
);
答:
0赞
DingHao
11/14/2023
#1
更改 setter/getter 如下
public int getFileid() {
return fileid;
}
public void setFileid(int fileid) {
this.fileid = fileid;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public String getCreationdate() {
return creationdate;
}
public void setCreationdate(String creationdate) {
this.creationdate = creationdate;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getRelativefilepath() {
return relativefilepath;
}
public void setRelativefilepath(String relativefilepath) {
this.relativefilepath = relativefilepath;
}
public int getCamerasid() {
return camerasid;
}
public void setCamerasid(int camerasid) {
this.camerasid = camerasid;
}
评论
0赞
cmd
11/15/2023
这就是问题所在。我已经按照您的指定更改了它们,它现在正在接收值。非常感谢。
评论