小程序开发需要多少钱知乎,无锡优化推广,免费做图软件电脑版,南通优化网站公司哪家好获取请求体中的Json格式参数 #xff08;RequestBody#xff09; 当前端将一些比较复杂的参数转换成Json字符串通过请求体传递过来给后端#xff0c;这种时候就可以使用RequestBody注解获取请求体中的数据。
而json字符串是包含在请求体中的#xff0c;使用请求体传参通常… 获取请求体中的Json格式参数 RequestBody 当前端将一些比较复杂的参数转换成Json字符串通过请求体传递过来给后端这种时候就可以使用RequestBody注解获取请求体中的数据。
而json字符串是包含在请求体中的使用请求体传参通常都是使用POST请求。
SpringBoot的web启动器已经默认导入了jackson的依赖不需要再额外导入依赖了。 实体类
Data
NoArgsConstructor
AllArgsConstructor
public class User {private String name;private Integer age;private String gender;
}
请求体数据
{name:z,age:3,gender:男} 1.获取前端传的参数封装成实体对象 如下把Json数据获取出来封装User对象
RestController
public class TestController1 {PostMapping(/test)public String testUser(RequestBody User user){ System.out.println(user);return user.toString();}
}
打印了获取到的 User 对象它会输出类似于 User(namez, age3, gender男) 2.获取参数封装成Map集合 也可以把该数据获取出来封装成Map集合 PostMapping(/user)public String TestController2(RequestBody Map map){System.out.println(map);return Test2;} 如果请求体传递过来的数据是一个User集合转换成的jsonJson数据可以这样定义
[{name:z,age:4},{name:zz,age:5},{name:zzz,age:6}]
方法定义 PostMapping(/users)public String TestController3(RequestBody ListUser users){System.out.println(users);return test3;}
假如是复杂对象按照上面json定义方式结合在一起写即可
{
id:1,
Users:[{name:z,age:4},{name:zz,age:5},{name:zzz,age:6}],
score:[100,0,99]
} 如果需要使用RequestBody来获取请求体中Json并且进行转换要求请求头 Content-Type 的值要为 application/json 。也就是前端以Content-Type 为application/json,传递json字符串数据后端以RequestBody 模型接收数据。 ——————————————————————————————————————————
其他Controller类常用的注解可以这个文章的汇总Web开发Controller类详解-CSDN博客