学而实习之 不亦乐乎

@requestBody 注解的使用

2022-08-09 10:52:02

一、@requestBody 处理的数据类型

@requestBody 注解常用来处理 content-type 不是默认的 application/x-www-form-urlcoded 编码的内容,比如说:application/json 或者是 application/xml 等。一般情况下来说常用其来处理 application/json 类型。

二、@requestBody数据绑定及实例

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

如下情况

1、前端发送请求

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

2、数据绑定到变量

@requestMapping("/login")
public void login(@requestBody String userName,@requestBody String pwd){
    System.out.println(userName+" :"+pwd);
}

也可以将 JSON 字符串直接增值给类,如一个 User 类,如下:

@requestMapping("/login")
public void login(@requestBody User user){
    System.out.println(user.userName+" :" + user.pwd);
}