最近在重构老的代码,在写的过程中发现之前的逻辑如果遇到没有入参pageNo会Npe,于是乎我想找找公司项目有啥方式处理page入参的有两种如下
但是我感觉这两种都有点麻烦,我想的要是随用随生成初始化的page参数就好了,于是有了以下设计
新建个BaseDTO用来被继承
@Data
public class BasePageDTO {
private Integer pageNo;
private Integer pageSize;
}
再把你的dto继承这个BaseDTO,因为代码规范规定不能在bean里面直接赋值属性的默认值,所以我们的dto在继承BasePageDTO后需要经过一步加工,我新建了一个PageUtil工具类,代码如下
@Component
public class PageUtil {
public static void buildPage(BasePageDTO pageDTO){
if (Objects.isNull(pageDTO.getPageNo())){
pageDTO.setPageNo(1);
}
if (Objects.isNull(pageDTO.getPageSize())){
pageDTO.setPageSize(20);
}
}
}
最后在我需要初始化page参数时候直接调用下这个方法,page参数就好啦