【发布时间】:2014-03-09 16:08:37
【问题描述】:
当我尝试将 JSON 发送到 Spring MVC 控制器时,我得到:
POST http://localhost:8084/springAndHibernate/greet 415 (Unsupported Media Type)
这里是方法的声明,应该 ,,catch” JSON:
@RequestMapping(headers ={"Accept=application/json"},value="/greet")
public String greetUser(@RequestBody Logins newLogin){
我认为它应该将 JSON 映射到类 Logins.java,它在这里:
package newpackage;
public class Logins implements java.io.Serializable {
private int id;
private String login;
private String password;
public Logins() {
}
public Logins(int id) {
this.id = id;
}
public Logins(int id, String login, String password) {
this.id = id;
this.login = login;
this.password = password;
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public String getLogin() {
return this.login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
}
我以这种方式使用 jQuery ajax() 方法发送 POST:
function onGreetingButtonClicked(e){
var contextPath='<%=request.getContextPath()%>';
jsonData = {
id: 0,
login: $("#loginInput").val(),
password: $("#passwordInput").val()
};
console.log(JSON.stringify(jsonData));
console.log((contextPath + "/greet").toString());
urlAddress = (contextPath + "/greet")
$.ajax({type: "POST",
url: urlAddress,
data: JSON.stringify(jsonData),
success: onSuccess,
contentType: "application/jsonp; charset=utf-8",
dataType: null,
traditional: true});
e.preventDefault();
}
function onSuccess(data){
alert(data);
}
当我删除时
@RequestBody
from 方法没有错误,但是我得到了带有 null 作为字段值的 Logins 对象。
如果有人愿意帮助我,我会很高兴, 提前谢谢你。
【问题讨论】:
-
首先将您的日志级别设置为调试。 Spring 应该会告诉你出了什么问题。
-
@Sotirios Delimanolis ,我该怎么做?
标签: java jquery json spring controller