SpringBoot之实体参数的详细解析
2023-12-14 00:14:25
    		1.3 实体参数
在使用简单参数做为数据传递方式时,前端传递了多少个请求参数,后端controller方法中的形参就要书写多少个。如果请求参数比较多,通过上述的方式一个参数一个参数的接收,会比较繁琐。
此时,我们可以考虑将请求参数封装到一个实体类对象中。 要想完成数据封装,需要遵守如下规则:请求参数名与实体类的属性名相同

1.3.1 简单实体对象
定义POJO实体类:
public class User {
 ? ?private String name;
 ? ?private Integer age;
?
 ? ?public String getName() {
 ? ? ? ?return name;
 ?  }
?
 ? ?public void setName(String name) {
 ? ? ? ?this.name = name;
 ?  }
?
 ? ?public Integer getAge() {
 ? ? ? ?return age;
 ?  }
?
 ? ?public void setAge(Integer age) {
 ? ? ? ?this.age = age;
 ?  }
?
 ? ?@Override
 ? ?public String toString() {
 ? ? ? ?return "User{" +
 ? ? ? ? ? ? ? ?"name='" + name + '\'' +
 ? ? ? ? ? ? ? ?", age=" + age +
 ? ? ? ? ? ? ? ?'}';
 ?  }
}
?Controller方法:
@RestController
public class RequestController {
 ? ?//实体参数:简单实体对象
 ? ?@RequestMapping("/simplePojo")
 ? ?public String simplePojo(User user){
 ? ? ? ?System.out.println(user);
 ? ? ? ?return "OK";
 ?  }
}Postman测试:
-  参数名和实体类属性名一致时 
-   
-  参数名和实体类属性名不一致时 

1.3.2 复杂实体对象
上面我们讲的呢是简单的实体对象,下面我们在来学习下复杂的实体对象。
复杂实体对象指的是,在实体类中有一个或多个属性,也是实体对象类型的。如下:
-  User类中有一个Address类型的属性(Address是一个实体类) 
-   
复杂实体对象的封装,需要遵守如下规则:
-  请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套实体类属性参数。 
定义POJO实体类:
-  Address实体类 
public class Address {
 ? ?private String province;
 ? ?private String 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;
 ?  }
?
 ? ?@Override
 ? ?public String toString() {
 ? ? ? ?return "Address{" +
 ? ? ? ? ? ? ? ?"province='" + province + '\'' +
 ? ? ? ? ? ? ? ?", city='" + city + '\'' +
 ? ? ? ? ? ? ? ?'}';
 ?  }
}-  User实体类 
public class User {
 ? ?private String name;
 ? ?private Integer age;
 ? ?private Address address; //地址对象
?
 ? ?public String getName() {
 ? ? ? ?return name;
 ?  }
?
 ? ?public void setName(String name) {
 ? ? ? ?this.name = name;
 ?  }
?
 ? ?public Integer getAge() {
 ? ? ? ?return age;
 ?  }
?
 ? ?public void setAge(Integer age) {
 ? ? ? ?this.age = age;
 ?  }
?
 ? ?public Address getAddress() {
 ? ? ? ?return address;
 ?  }
?
 ? ?public void setAddress(Address address) {
 ? ? ? ?this.address = address;
 ?  }
?
 ? ?@Override
 ? ?public String toString() {
 ? ? ? ?return "User{" +
 ? ? ? ? ? ? ? ?"name='" + name + '\'' +
 ? ? ? ? ? ? ? ?", age=" + age +
 ? ? ? ? ? ? ? ?", address=" + address +
 ? ? ? ? ? ? ? ?'}';
 ?  }
}Controller方法:
@RestController
public class RequestController {
 ? ?//实体参数:复杂实体对象
 ? ?@RequestMapping("/complexPojo")
 ? ?public String complexPojo(User user){
 ? ? ? ?System.out.println(user);
 ? ? ? ?return "OK";
 ?  }
}Postman测试:

    			文章来源:https://blog.csdn.net/qq_69748833/article/details/134984336
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
    	本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!