0
我使用Spring-Boot构建了REST服务。一切正常。但是,当我更新我的curl
命令来POST我的POJO变量的错误名称时,我得到一个具有默认值的对象。将POST发送到REST服务时意外传递JSON解析
我的实体的样子:
@Entity
public class UserTask {
@Id
private Long userId;
private int numComplete;
private int numIncomplete;
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public int getNumComplete() {
return numComplete;
}
public void setNumComplete(int numComplete) {
this.numComplete = numComplete;
}
public int getNumIncomplete() {
return numIncomplete;
}
public void setNumIncomplete(int numIncomplete) {
this.numIncomplete = numIncomplete;
}
@Override
public String toString() {
return new StringBuilder("[id : ").append(getUserId())
.append(", complete : ").append(getNumComplete())
.append(", incomplete : ").append(getNumIncomplete())
.append("]").toString();
}
}
我执行POST对我的服务,像这样:
curl -i -X POST -H "Content-Type:application/json" -d "{ \"uId\" : \"1\", \"numC\" : \"3\", \"numI\" : \"2\" }" http://localhost:8080/user-task
为POST
返回的状态是201
和记录写入(在这种情况下,更新)在数据库中。当我调试时,我看到实例进入REST控制器方法的默认值为null
,对于userId
,0
对于numComplete
和0
对于numIncomplete
。我认为JSON解析器在无法将POST JSON内容解组为UserTask
实例时会失败?
谢谢。我会试试这个报告。 – njk2015
看看这个例子https://www.mkyong.com/spring-mvc/spring-rest-api-validation/ – JorgeTovar