本文介绍了使用Spring MVC的REST Web服务在发布JSON时返回null的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用Spring MVC开发REST Web服务,该服务接受JSON请求主体。
并进一步处理收到的消息。
Iam使用以下命令:
Eclipse,Tomcat,Spring 3.0.1,Jackson lib,用于测试Web服务的Curl
Developing a REST web service using Spring MVC which accepts a JSON request body.And process the received message further.Iam using following :Eclipse, Tomcat, Spring 3.0.1, Jackson lib, Curl for testing the web service
`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;
}
}
推荐答案
尝试添加@RequestBody
try to add @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();
}
这篇关于使用Spring MVC的REST Web服务在发布JSON时返回null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!