@RequestBody用法

@RequestBody正确用法

 转载于:https://blog.csdn.net/qq_36090463/article/details/80990938

1、@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。@RequestBody接受的是一个json格式的字符串,一定是一个字符串。

2、通过@requestBody可以将请求体中的JSON字符串绑定到相应的bean上,当然,也可以将其分别绑定到对应的字符串上。

    例如说以下情况:
    $.ajax({
        url:"/login",
        type:"POST",
        data:'{"userName":"admin","pwd","admin123"}',
        content-type:"application/json charset=utf-8",
        success:function(data){
          alert("request success ! ");
        }
    });

    @requestMapping("/login")
    public void login(@requestBody String userName,@requestBody String pwd){
      System.out.println(userName+" :"+pwd);
    }
    这种情况是将JSON字符串中的两个变量的值分别赋予了两个字符串,但是呢假如我有一个User类,拥有如下字段:
      String userName;
      String pwd;
    那么上述参数可以改为以下形式:@requestBody User user 这种形式会将JSON字符串中的值赋予user中对应的属性上

    需要注意的是,JSON字符串中的key必须对应user中的属性名,否则是请求不过去的。

总结:1.@RequestBody接受的是一个json格式的字符串,一定是一个字符串。

       2.在使用springmvc的做项目时,将JSON字符串和JSON对象混淆了。
————————————————
版权声明:本文为CSDN博主「Joeliawu」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36090463/article/details/80990938

原文地址:https://www.cnblogs.com/fulong133/p/12421560.html