通用分页设计规范(草稿)
SCENE
中台提供的API给业务调用。目前for BG 的API反馈,由于参与开发中台的人,对分页各自定义参数和方法名词,无法统一。导致理解难度很大。
为此,中台需要对分页重新定义。
CONSTRAINT
接口名词约束
分页的接口名词必须是: ${prefix}${Resource}Paging
- list${Resource}Paging
- query${Resource}Paging
如,listUsersPaging,但不能是 getUsersPaging,因为get的语义是对单个资源的操作。
请求参数约束
参数必须传递一个 PageableDto 作为最后一个参数。该PageableDto DTO 定义了统一的。
如 listUsersPaging(UserReqDto userReqDto,PageableDto pageableDto);
该类中台统一一下,不要各自维护,基本上包含标准的分页参数即可。
如:
public class PageableDto {
private Integer page = 1;
private Integer perPageRows = 20;
private Map<String,String> sorts;
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public Integer getPerPageRows() {
return perPageRows;
}
public void setPerPageRows(Integer perPageRows) {
this.perPageRows = perPageRows;
}
public Map<String, String> getSorts() {
return sorts;
}
public void setSorts(Map<String, String> sorts) {
this.sorts = sorts;
}
}
返回结果约束
采用统一的Pageinfo