Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
B
bcs
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 1
    • Issues 1
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Lv xiang
  • bcs
  • Issues
  • #1

Closed
Open
Opened Jun 20, 2018 by Lv xiang@xxlv 
  • Report abuse
  • New issue
Report abuse New issue

通用分页设计规范(草稿)

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

Edited Jun 22, 2018 by Lv xiang
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
No due date
Reference: xxlv/bcs#1