【发布时间】:2015-10-14 05:33:48
【问题描述】:
我在前端使用了 Backbone 模型,模型 url 为“Student”,后端为 Spring Controller。
我可以使用以下代码进行获取
@RequestMapping(value = "/Student", produces = "application/json", method = RequestMethod.GET)
public @ResponseBody Student createStudent() {
Student student = new Student("Abc","Def");
return student;
}
但是下面的保存代码不起作用
@RequestMapping(value = "/Student", consumes = "application/json", produces = "application/json",method = RequestMethod.POST)
public @ResponseBody Student saveStudent(@RequestBody Student student) {
System.out.println(student.getName());
return student;
}
我在客户端更改了 Student 的一些属性并保存了,但它给了我 HTTP 400 错误,描述为“客户端发送的请求在语法上不正确。”
主干模型
var Student = Backbone.Model.extend({
url : 'Student',
defaults : {
name : '',
address : '',
}
});
var student = new Student();
student.fetch();
alert(JSON.stringify(student,null,4));
student.set({name:'john'});
student.save();
学生班
public class Student{
private String name;
private String address;
public void Student(String name,String address){
this.name=name;
this.address=address;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public String getAddress(){
return address;
}
public void setAddress(String address){
this.address=address;
}
}
【问题讨论】:
-
添加您的主干代码以保存...
-
@NikolayRusev 添加了主干模型
-
还添加您的
Student类,当您收到错误代码 400 时服务器的响应是什么? -
请检查客户端发送的请求正文,粘贴到这里。
-
请求正文 {"name":"Abc","address":"Def"}
标签: javascript spring-mvc backbone.js controller backbone-model