Consistent API default paginations #11071

Open
opened 2025-11-02 09:26:47 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @lunny on GitHub (Jun 21, 2023).

related #21158

To make all the List APIs have consistent pagination default behaviors, some APIs maybe break. Below is the current behavior:

  • /repos/<owner>/<repo>/issues : page = 0 means page = 1
  • /repos/<owner>/<repo>/labels : page = 0 means get all data
  • /repos/<owner>/<repo>/milestones : page = 0 means get all data
  • /repos/<owner>/<repo>/releases : page = 0 means page = 1
  • /repos/<owner>/<repo>/notifications: page = 0 means get all data
  • /repos/<owner>/<repo>/branches: page = 0 means page = 1
  • /repos/<owner>/<repo>/branches: page = 0 means get all data
  • /repos/<owner>/<repo>/hooks: page = 0 means get all data
  • /repos/<owner>/<repo>/collaborators: page = 0 means get all data
  • /repos/<owner>/<repo>/forks: page = 0 means get all data
  • /repos/<owner>/<repo>/keys: page = 0 means get all data
  • /repos/<owner>/<repo>/times: page = 0 means get all data
  • /repos/<owner>/<repo>/stargazers: page = 0 means get all data
  • /repos/<owner>/<repo>/subscribers: page = 0 means get all data
  • /repos/<owner>/<repo>/push_mirrors: page = 0 means get all data
  • /repos/<owner>/<repo>/commits: page = 0 means page = 1
  • /repos/<owner>/<repo>/pulls: page = 0 means page = 1
Originally created by @lunny on GitHub (Jun 21, 2023). related #21158 To make all the List APIs have consistent pagination default behaviors, some APIs maybe break. Below is the current behavior: - [ ] `/repos/<owner>/<repo>/issues` : `page = 0` means `page = 1` - [ ] `/repos/<owner>/<repo>/labels` : `page = 0` means get all data - [ ] `/repos/<owner>/<repo>/milestones` : `page = 0` means get all data - [ ] `/repos/<owner>/<repo>/releases` : `page = 0` means `page = 1` - [ ] `/repos/<owner>/<repo>/notifications`: `page = 0` means get all data - [ ] `/repos/<owner>/<repo>/branches`: `page = 0` means `page = 1` - [ ] `/repos/<owner>/<repo>/branches`: `page = 0` means get all data - [ ] `/repos/<owner>/<repo>/hooks`: `page = 0` means get all data - [ ] `/repos/<owner>/<repo>/collaborators`: `page = 0` means get all data - [ ] `/repos/<owner>/<repo>/forks`: `page = 0` means get all data - [ ] `/repos/<owner>/<repo>/keys`: `page = 0` means get all data - [ ] `/repos/<owner>/<repo>/times`: `page = 0` means get all data - [ ] `/repos/<owner>/<repo>/stargazers`: `page = 0` means get all data - [ ] `/repos/<owner>/<repo>/subscribers`: `page = 0` means get all data - [ ] `/repos/<owner>/<repo>/push_mirrors`: `page = 0` means get all data - [ ] `/repos/<owner>/<repo>/commits`: `page = 0` means `page = 1` - [ ] `/repos/<owner>/<repo>/pulls`: `page = 0` means `page = 1`
GiteaMirror added the topic/apitype/proposal labels 2025-11-02 09:26:47 -06:00
Author
Owner

@silverwind commented on GitHub (Jun 22, 2023):

page = 0 seems kind of pointless because if there is no limit parameter, it should have the same effect of retrieving all items. Of course it may still need to be supported in case existing clients rely on this quirk.

@silverwind commented on GitHub (Jun 22, 2023): `page = 0` seems kind of pointless because if there is no `limit` parameter, it should have the same effect of retrieving all items. Of course it may still need to be supported in case existing clients rely on this quirk.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#11071