springMvc04(json数据传递参数)
一、集合参数(JSON格式)
1.1-导入"JSON"坐标(通用设置一次就可以)
<!-- springmvc 需要的json相关坐标-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.0</version>
</dependency>
1.2-在"config-->springMvcConfig"加入@EnableWebMvc
注解(通用设置一次就可以)
1.3-外部按照JSON格式的数据传入:["aaa","bbb","ccc"]
1.4-在"行参"里面加入@RequestBody
注解
二、POJO参数(json格式):实体类
2.1-外部按照JSON格式的数据传入:
{
"name":"chenxiix",
"age":"18",
"address":{
"province":"beijing",
"city":"beijing"
}
}
2.2-PostMan测试:外部按照JSON格式的数据传入:
2.3-在"行参"里面加入@RequestBody
注解
User这个实体类的代码块
public class User {
private String name;
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", address=" + address +
'}';
}
private int age;
private Address address;
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
public User() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
嵌套的实体类Address代码块
public class Address {
private String province ;
private String city;
@Override
public String toString() {
return "Address{" +
"province='" + province + '\'' +
", city='" + city + '\'' +
'}';
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
三、"集合"中有多个对象
3.1-外部按照JSON格式的数据传入:
[
{"name":"chenxixi","age":"18" ,
"addrsss":{"province":"beijng","city":"beijing"}
},
{"name":"wangwang","age":"18" ,
"addrsss":{"province":"beijng","city":"beijing"}
}
]
3.2-PostMan测试:(外部按照JSON格式的数据传入)
3.3-在"行参"里面加入@RequestBody注解:
User这个实体类的代码块
public class User {
private String name;
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", address=" + address +
'}';
}
private int age;
private Address address;
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
public User() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
嵌套的实体类Address代码块
public class Address {
private String province ;
private String city;
@Override
public String toString() {
return "Address{" +
"province='" + province + '\'' +
", city='" + city + '\'' +
'}';
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
四、总结;
4.1:本节的主要三个"JSON"参数
4.2:步骤1,导入json坐标
4.3:步骤2,设置发生JSON数据
4.4:步骤3,开启自动转换JSON数据支持
4.5:步骤4:,设置接收JSON数据
4.6:结尾
、
五、附加:注解介绍
5.1:@EnableWebMvc
5.2:@RequestBody
5.3:@RequestBody和@RequestParam
的区别
六、代码块总结
//集合参数(json格式)
@RequestMapping("/listParamForJson")
@ResponseBody
public String listParamForJson(@RequestBody List<String> likes) { //需要以JSON格式传入数据
System.out.println("--> 集合参数(json类型)listParamForJson:" + likes);
System.out.println("--------");
return "{molder:user_CommonParam}";
}
//POJO参数(json格式):实体类
@RequestMapping("/pojoParamForJson")
@ResponseBody
public String pojoParamForJson(@RequestBody User user) { //需要以JSON格式传入数据
System.out.println("--> POJO参数(json类型)POJOParamForJson:" + user);
System.out.println("--------");
return "{molder:user_CommonParam}";
}
//POJO参数(json格式):实体类
@RequestMapping("/listPojoParamForJson")
@ResponseBody
public String listPojoParamForJson(@RequestBody List<User> list) { //多个"实体类"
System.out.println("--> listPojoParamForJson参数(json类型)POJOParamForJson:" + list);
System.out.println("--------");
return "{molder:user_CommonParam}";
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)