关于初始化page入参的设计思路

最近在重构老的代码,在写的过程中发现之前的逻辑如果遇到没有入参pageNo会Npe,于是乎我想找找公司项目有啥方式处理page入参的有两种如下

  1. 使用三元表达式直接判断是否null,然后赋值
  2. 使用mapStruct赋值初始化AO

但是我感觉这两种都有点麻烦,我想的要是随用随生成初始化的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参数就好啦
在这里插入图片描述

posted @ 2022-07-20 17:54  蜗牛使劲冲  阅读(16)  评论(0)    收藏  举报  来源