SpringMVC中controller接收Json数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC中controller接收Json数据相关的知识,希望对你有一定的参考价值。

SpringMVC中controller接收Json数据

1.jsp页面发送ajax的post请求:

function postJson(){
    var json = {"username" : "imp", "password" : "123456"};
    $.ajax({
        type : "post",
        url : "<%=basePath %>ajaxRequest",
        contentType : "application/json;charset=utf-8",
        dataType : "json",
        data: JSON.stringify(json),
        success : function(data){
            alert("username:"+data.username+"   id:"+data.id);
        },
        error : function(){
            alert("请求失败");
        }
    })
}

注意:

1.在发送数据时,data键的值一定要写成JSON.stringify(json),将数据转换成json格式,否则会抛出异常

2.basePath是项目根目录:

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

2.controller接收请求:

    @ResponseBody
    @RequestMapping(value="/ajaxRequest",method=RequestMethod.POST)
    public User ajaxRequest(@RequestBody User user){
        System.out.println(user);
        return user;
    }

注意:

[email protected]修饰的方法返回的数据,springmvc将其自动转换成json格式,然后返回给前端

[email protected]修饰目标方法的入参,可以将ajax发送的json对象赋值给入参。当然这里的入参user是我们自定义的实体类型。

3.最后将user返回,springmvc自动将其转换成json返回给前端

 

以上是关于SpringMVC中controller接收Json数据的主要内容,如果未能解决你的问题,请参考以下文章

springMVC参数设置

SpringMvc

springMVC数据相关

SpringMVC:获取请求参数

springMVC 接收json字符串参数

springmvc 传递和接收数组参数