Json 由于无法解析对象,客户端发送的请求在语法上不正确
我构建了一个springmvc PostRESTAPI。它将接受一个发布的对象“Test”。但当我通过邮递员提交邮件请求时。我发现错误:Json 由于无法解析对象,客户端发送的请求在语法上不正确,json,spring-mvc,post,Json,Spring Mvc,Post,我构建了一个springmvc PostRESTAPI。它将接受一个发布的对象“Test”。但当我通过邮递员提交邮件请求时。我发现错误: <body> <h1>HTTP Status 400 - </h1> <div class="line"></div> <p> <b>type</b> Status report </p> <
<body>
<h1>HTTP Status 400 - </h1>
<div class="line"></div>
<p>
<b>type</b> Status report
</p>
<p>
<b>message</b>
<u></u>
</p>
<p>
<b>description</b>
<u>The request sent by the client was syntactically incorrect.</u>
</p>
<hr class="line">
<h3>Apache Tomcat/8.0.35</h3>
</body>
以下是POST请求的json数据:
{
"name": "name",
"user": {
"id": 1,
"age": 0,
"name": "user",
"address": null,
"email": null
}
}
下面是对象“测试”:
字段用户是类用户的实例
为更新而编辑
在我的“测试”类中,我常常错过默认构造函数。将默认构造函数添加到类后。问题解决了。但我不确定为什么默认构造函数很重要。任何人都可以在这方面提供帮助?Spring MVC默认情况下使用无参数cstor和setter配置bean。您需要手动更改beans.xml以通过args cstors配置bean。是否在中指定了内容类型postman@VikramSingh是的,内容类型是“application/json”。我过去常常错过“Test”类中的默认构造函数。将默认构造函数添加到类后。问题解决了。
{
"name": "name",
"user": {
"id": 1,
"age": 0,
"name": "user",
"address": null,
"email": null
}
}
public class Test implements Serializable {
private static final long serialVersionUID = -7788619177798333712L;
private String name;
private User user;
public Test( String name ) {
this.name = name;
}
public Test( String name, User user ) {
this( name );
this.user = user;
}
public String getName() {
return name;
}
public User getUser() {
return user;
}
public void setName( String name ) {
this.name = name;
}
public void setUser( User user ) {
this.user = user;
}
public String toString() {
StringBuilder sb = new StringBuilder( "[ " );
sb.append( "name: " ).append(this.name).append( ", " );
sb.append( user.toString() ).append( " ]" );
return sb.toString();
}
}