问题1:为什么不用@JsonProperty注解OrderForm
来源:6-10 买家订单-api_A
takooya
2018-03-24
因为要把OrderForm给OrderDTO,那为什么我们不用@JsonProperty使OrderForm的返回值与前台一直,让OrderForm真正的属性值与OrderDTO一致,这样我们就可以使用BeanUtils.copyProperties();方法,进一步简化代码!
请老师赐教,我是否有地方没有理解清楚呢??
2回答
-
廖师兄
2018-03-25
你说具体一些,觉得可以如何简化,在哪里增加代码,在哪删减代码
112018-03-26 -
takooya
提问者
2018-03-26
@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对象
这样做有什么缺点
00
相似问题