使用接受JSON请求主体的Spring MVC开发REST Web服务。 并进一步处理收到的消息。 我使用以下: Eclipse,Tomcat,Spring 3.0.1,Jackson lib,用于测试Web服务的Curl
`curl -i -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d '{"fname":"my_firstname" , "lname":"my_lastname"}' http://localhost:8080/SpringMVC/restful`
返回
"Saved person: null null"
我的控制器类
import com.samples.spring.Person;
@Controller
public class RestController {
@RequestMapping(value="{person}", method = RequestMethod.POST)
@ResponseBody
public String savePerson(Person person) {
// save person in database
return "Saved person: " + person.getFname() +" "+ person.getLname();
}
我的班级
package com.samples.spring;
public class Person {
public String fname;
public String lname;
public String getFname() {
return fname;
}
public void setFname(String fname) {
this.fname = fname;
}
public String getLname() {
return lname;
}
public void setLname(String lname) {
this.lname = lname;
}
}
答案 0 :(得分:5)
尝试添加@RequestBody
@RequestMapping(value="{person}", method = RequestMethod.POST)
@ResponseBody
public String savePerson(@RequestBody Person person) {
// save person in database
return "Saved person: " + person.getFname() +" "+ person.getLname();
}
答案 1 :(得分:0)
尝试添加一个构造函数您的Person类:
public Person(String fname, String lname) {
this.fname = fname;
this.lname = lname;
}