关于初始化page入参的设计思路
最近在重构老的代码,在写的过程中发现之前的逻辑如果遇到没有入参pageNo会Npe,于是乎我想找找公司项目有啥方式处理page入参的有两种如下
- 使用三元表达式直接判断是否null,然后赋值
- 使用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参数就好啦
 
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号