SpringMVC使用JSON做请求数据和@RequestBody直接存入Java实体类对象出现400问题
错误代码如下:
<!doctype html>
HTTP Status 400 – Bad Request
Type Status Report
Description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
出现此问题可能原因
请求的JSON数据格式出现错误,正确JSON的格式如下:
{
“id”:“id”,
“username”: “usernameValue”,
“password”: “passwordValue”
}
要跟其接收的实体类保持一致(相关实体类和Controller如下)
//User实体类
public class User {
int id;
String username;
String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
//接收前端JSON的Controller
@ResponseBody
@RequestMapping(value = "test",method = RequestMethod.POST)
public User test(@RequestBody User user) {
System.out.println(user);
return user;
}