<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">El jue., 24 ago. 2017 a las 12:14, Michael Hafen (<<a href="mailto:michael.hafen@washk12.org">michael.hafen@washk12.org</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>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.<br></div>Also, pagination should be an option in the api, to preserve present behavior.<br></div>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.</div></blockquote><div><br></div><div>Just to clarify, what I'm proposing is adding an OPTIONAL set of query parameters to allow API consumers to get paginated results. This is by no means a proposal to change the current 'get all' behaviour.</div><div><br></div><div>Also, if you have (say) 50000 patrons on your library, what's the point of fetching them all at once only to display (say) 20? The user experience would be enhanced if we only fetched what is needed (a page) and probably the next page (or couple next pages) in background while the user is reading the current page. I'd leave that to UI frameworks/tools as you suggest, though.</div><div><br></div><div>Thanks for you feedback! I count it as +1 for (b) :-D</div><div><br></div></div></div><div dir="ltr">-- <br></div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="color:rgb(117,117,117);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:12.8px">Tomás Cohen Arazi</div><div style="color:rgb(117,117,117);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:12.8px">Theke Solutions (<a href="http://theke.io/">https://theke.io</a>)<br>✆ +54 9351 3513384<br>GPG: B2F3C15F</div></div></div>