【问题标题】:REST webservice using Spring MVC returning null while posting JSON使用 Spring MVC 的 REST Web 服务在发布 JSON 时返回 null
【发布时间】:2013-10-19 09:18:04
【问题描述】:

使用接受 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;
        }
    }

【问题讨论】:

  • 已解决。做了如下两件事:1.)添加了@RequestBody 2.)将Curl的JSON参数从 -d '{"fname":"my_firstname" , "lname":"my_lastname"}' ---- -d "{ """fname""":"""my_firstname""" , """lname""":"""my_lastname"""}"。谁能解释一下???

标签: java json spring spring-mvc curl


【解决方案1】:

尝试为你的 Person 类添加一个构造函数:

public Person(String fname, String lname) {
    this.fname = fname;
    this.lname = lname;
}

【讨论】:

    【解决方案2】:

    尝试添加@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();
        }
    

    【讨论】:

      猜你喜欢
      • 2013-08-07
      • 1970-01-01
      • 2015-08-04
      • 2017-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      相关资源
      最近更新 更多