Vis*_*hwa 5 rest json spring-mvc restful-url
myController中的方法如下所示
@RequestMapping(value="/{processId}/dependents", method=RequestMethod.POST,consumes="application/json")
@ResponseBody
public Dependents postdependent(@ModelAttribute ProcessContext process,@RequestBody Dependent dependent) {
return process.getDependents().addDependent(dependent);
}
Run Code Online (Sandbox Code Playgroud)
我完全得到并删除了工作.但每当我发帖子时,我收到客户发送的请求在语法上是不正确的.邮件请求的JSON:
"{
'dependentId' : '1003',
'firstName' : 'Vishu',
'lastName' : 'poodari',
'birthDate' : '1970/04/15'
}"
Run Code Online (Sandbox Code Playgroud)
请用单引号尝试所有组合,双打引用一切.
我正在使用rest-shell来执行操作.
请找我的依赖类
public class Dependent {
private String dependentId;
private String firstName;
private String lastName;
private String birthDate;
@JsonCreator
public Dependent(@JsonProperty("dependentId") String dependentId, @JsonProperty("firstName") String firstName, @JsonProperty("lastName")String lastName,
@JsonProperty("birthDate") String birthDate) {
this.dependentId = dependentId;
this.firstName = firstName;
this.lastName = lastName;
this.birthDate = birthDate;
}
public String getDependentId() {
return dependentId;
}
public void setDependentId(String dependentId) {
this.dependentId = dependentId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getBirthDate() {
return birthDate;
}
public void setBirthDate(String birthDate) {
this.birthDate = birthDate;
}
}
Run Code Online (Sandbox Code Playgroud)
小智 12
语法错误意味着json的问题,请用double替换单引号.
{"dependentId" : "1003",
"firstName" : "Vishu",
"lastName" : "poodari",
"birthDate" : "1970/04/15"
}
Run Code Online (Sandbox Code Playgroud)
还要检查json键是否应与您的Dependent类属性名称匹配,并且数据应该可由解析器转换.
错误*客户端发送的请求在语法上是不正确的"**在大多数情况下意味着jackson无法脱盐(将json字符串转换为对象),因为缺少默认构造函数.
在你的情况下,缺少默认构造函数,你有参数化的构造函数,它覆盖默认值,杰克逊不能创建对象
public Dependent(@JsonProperty("dependentId") String dependentId, @JsonProperty("firstName") String firstName, @JsonProperty("lastName")String lastName,
@JsonProperty("birthDate") String birthDate) { this.dependentId = dependentId;
this.firstName = firstName;
this.lastName = lastName;
this.birthDate = birthDate;
}
Run Code Online (Sandbox Code Playgroud)
将默认构造函数添加到您的类中,一切都将正常工作
public Dependent() {
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25726 次 |
| 最近记录: |