[Koha-devel] REST api / pagination

Michael Hafen michael.hafen at washk12.org
Thu Aug 24 17:14:17 CEST 2017


What about the fourth option of returning all the results and letting the
client handle pagination?  There are many good javascript / jquery
libraries that can be used for sorting / paginating a table.
Also, pagination should be an option in the api, to preserve present
behavior.
I think if the api's present behavior is to return all results, then I
would prefer your suggestion a as an added mechanism; from a user
standpoint pages make more sense then limits and offsets to me.

On Thu, Aug 24, 2017 at 8:50 AM, Tomas Cohen Arazi <tomascohen at gmail.com>
wrote:

> Hi there, I'm currently implementing a couple endpoints for
> acquisitions-related stuff and also QAing existing patches introducing
> endpoints.
>
> One of the things that need to be done (which I did for my own endpoint
> for vendors / bug 18120) is migrating them to Mojolicious::Plugin::OpenAPI
> instead of (the deprecated) Mojolicious::Plugin::Swagger2.
>
> I noticed there's lack of a generic way to deal with pagination. There are
> a couple options we could consider, but I would like to hear the opinion of
> UI people, which are the ones that will take advantage or suffer what we do
> on the backend :-D
>
> a)  GET /patrons?page=1&per_page=3 => [ {borrower1}, {borrower2},
> {borrower3} ]
> b)  GET /patrons?offset=0&limit=3 => [ {borrower1}, {borrower2},
> {borrower3} ]
>
> Lari proposed another one, which tackles an issue we could have on the UI
> (knowing the total, calculating pages, etc):
>
> c) GET /patrons?page=1&per_page=3 { total: 50000, results: [ {borrower1},
> {borrower2}, {borrower3} ] }
>
> (c) has the problem that it would mean we need to change the current
> resposes for list operations on the already implemented endpoints. I'm not
> sure at this point we would need to shift api version (v2?), I would vote
> against, but here we have the chance to hear people using the API.
>
> Looking forward to your comments as my current dev work completion depends
> on it :-D
>
> --
> Tomás Cohen Arazi
> Theke Solutions (https://theke.io <http://theke.io/>)
> ✆ +54 9351 3513384 <+54%209%20351%20351-3384>
> GPG: B2F3C15F
>
> _______________________________________________
> Koha-devel mailing list
> Koha-devel at lists.koha-community.org
> http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
> website : http://www.koha-community.org/
> git : http://git.koha-community.org/
> bugs : http://bugs.koha-community.org/
>



-- 
Michael Hafen
Washington County School District Technology Department
Systems Analyst
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.koha-community.org/pipermail/koha-devel/attachments/20170824/3a87ab51/attachment.html>


More information about the Koha-devel mailing list