采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
因为要把OrderForm给OrderDTO,那为什么我们不用@JsonProperty使OrderForm的返回值与前台一直,让OrderForm真正的属性值与OrderDTO一致,这样我们就可以使用BeanUtils.copyProperties();方法,进一步简化代码!
请老师赐教,我是否有地方没有理解清楚呢??
你说具体一些,觉得可以如何简化,在哪里增加代码,在哪删减代码
@Data public class OrderForm { /** 买家姓名 */ @JsonProperty("name") @NotEmpty(message = "姓名必填") private String buyerName; /** 买家电话 */ @JsonProperty("phone") @NotEmpty(message = "电话号必填") private String buyerPhone; /** 买家地址 */ @JsonProperty("address") @NotEmpty(message = "地址必填") private String buyerAddress; /** 买家微信openid */ @JsonProperty("openid") @NotEmpty(message = "微信openid必填") private String buyerOpenid; /** 购物车信息 */ @NotEmpty(message = "购物车不能为空") private String items; } 注意@JsonProperty()内属性名与前台接收和发送的属性名一致,OrderForm对象的属性名与OrderDTO对象属性名一致 这样OrderForm对象赋值给OrderDTO对象的时候,就可以使用BeanUtils.copyProperties();方法了 再加上之前写的用反射获得对象属性值为空的属性名的方法,就可以省掉自己写的OrderForm2OrderDTO的类和方法,使用BeanUtils.copyProperties();方法让OrderForm对象赋值给OrderDTO对象 这样做有什么缺点
@Data
public class OrderForm { /** 买家姓名 */ @JsonProperty("name") @NotEmpty(message = "姓名必填") private String buyerName; /** 买家电话 */ @JsonProperty("phone") @NotEmpty(message = "电话号必填") private String buyerPhone; /** 买家地址 */ @JsonProperty("address") @NotEmpty(message = "地址必填") private String buyerAddress; /** 买家微信openid */ @JsonProperty("openid") @NotEmpty(message = "微信openid必填") private String buyerOpenid; /** 购物车信息 */ @NotEmpty(message = "购物车不能为空") private String items;}
注意@JsonProperty()内属性名与前台接收和发送的属性名一致,OrderForm对象的属性名与OrderDTO对象属性名一致
这样OrderForm对象赋值给OrderDTO对象的时候,就可以使用BeanUtils.copyProperties();方法了
再加上之前写的用反射获得对象属性值为空的属性名的方法,就可以省掉自己写的OrderForm2OrderDTO的类和方法,使用BeanUtils.copyProperties();方法让OrderForm对象赋值给OrderDTO对象
这样做有什么缺点
登录后可查看更多问答,登录/注册
从0到1开发中小型企业级Java应用,并学会迭代重构技巧
8.2k 10
3.3k 4
6.8k 9
2.0k 32
4.1k 26