bennycode / wlc-webapp

Website for free programming tutorials and screencasts.
http://www.welovecoding.com/
6 stars 1 forks source link

REST v2 - Introduce cursors for paging / pagination #124

Open bennycode opened 10 years ago

bennycode commented 10 years ago

Falls unsere Rückgabelisten sehr lang werden, können wir ein Paging-System im REST-Service einführen, so dass man sagen kann, gib mir die ersten 50 Ergebnisse. Als Result werden einem dann 50 Ergebnisse und die URLs zu den nächsten Ergebnissen zurückgegeben. Also ein klassisches Cursor-Verfahren.

Hier ist ein Beispiel, wie sowas aussehen könnte:

{
  "count": 64, 
  "next_cursor": "E-ABAOsB8gEIbW9kaWZpZWT6AQkIrtzSk96zwALsAYICH2oKc35nYWUtaW5pdHIRCxIEVXNlchiAgIDAoKygCgyIAgEU", 
  "next_url": "https://gae-init.appspot.com/_s/user/?active=True&cursor=E-ABAOsB8gEIbW9kaWZpZWT6AQkIrtzSk96zwALsAYICH2oKc35nYWUtaW5pdHIRCxIEVXNlchiAgIDAoKygCgyIAgEU&order=-modified", 
  "now": "2014-10-12T15:53:55.718190", 
  "result": [
    {
      "active": true, 
      "admin": true, 
      "avatar_url": "//gravatar.com/avatar/a8518c33a76987dd41dd26497563fee9?d=identicon&r=x", 
      "created": "2012-04-19T12:31:18.417870", 
      "id": 1, 
      "key": "agpzfmdhZS1pbml0cgoLEgRVc2VyGAEM", 
      "modified": "2014-10-11T12:25:30.611690", 
      "name": "Lipis", 
      "permissions": [], 
      "version": 1382222426
    }, 
    {
      "active": true, 
      "admin": false, 
      "avatar_url": "//gravatar.com/avatar/93a81288d5628344c3447662f8b7f388?d=identicon&r=x", 
      "created": "2014-10-11T12:17:16.994080", 
      "id": 5883131714338816, 
      "key": "agpzfmdhZS1pbml0chELEgRVc2VyGICAgMDV1bkKDA", 
      "modified": "2014-10-11T12:17:17.245200", 
      "name": "Sranrao", 
      "permissions": [], 
      "version": 1412625443
    }
  ]
}