主要是远程调用的时候遇见的,因为数据类型传输的是一个object类型,虽然feign接口已经指定了泛型,但是还是会遇见这个问题,这里需要转换一下
import com.fasterxml.jackson.databind.ObjectMapper;
new ObjectMapper().convertValue(data, MemberVO.class)
然后就是集合的拷贝 想同类型的直接addAll就行了,但是一般项目中遇见的可能是list中包含了两个只是名字不同的两个对象的,比如 List<MemberPO> 和List<MemberVO>,根据框架以及项目编码规范,是操作数据库是需要使用po的,所以要用到list的拷贝
import cn.hutool.core.bean.BeanUtil;
List<b数据类型> b数据类型list= BeanUtil.copyToList(有数据的a数据类型list集合, b数据类型.class);
//浅拷贝
ClientMemberPO clientMemberPO = BeanUtil.copyProperties(clientMemberDTO, ClientMemberPO.class,
BeanPlusUtil.getNullPropertyNames(clientMemberDTO));
还有就是主要用在数据类型比较长的number类型上的,比如雪花算法的id,可能会出现精度丢失的情况,如果框架已进行解决,那肯定是不用多次一举,如果没有的话,加上下面的注解就行了,
还有就是时间的格式化
@JsonSerialize(using = ToStringSerializer.class)
private Long memberId;
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;