本文介绍了使用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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-29 20:54