2016-02-23 7 views
6

Beim Implementieren einer Rest-API mit Paging-Parametern sollte Paging null sein oder bei 1 beginnen. Die Parameter wären Page und PageSize.Sollte Paging in einer API null sein?

Für mich macht es Sinn, bei 1 zu beginnen, da wir über Seiten im Gespräch sind

+0

Also, verwenden Sie 1 und dokumentieren Sie es richtig :) –

+0

Nun ja! Es ist eine dieser Entscheidungsphasen, in denen ich es hassen würde, wenn die Leute die Entscheidung für die kommenden Jahre kritisieren würden! Wenn es natürlich ein Fall von einigen Leuten ist, die einen Weg und einige andere bevorzugen .. Ich bin glücklich, nur etwas auszuwählen und damit zu gehen! –

+1

Es gibt Hunderttausende von APIs, die Dutzende verschiedener Ansätze verwenden. Wählen Sie einfach den Ansatz, der Ihnen am besten passt, und dokumentieren Sie ihn erneut *. Erstellen Sie eine API, die Sie gerne verwenden würden. –

Antwort

6

Es gibt keinen Standard dafür. Schauen Sie sich einmal um: Es gibt Hunderttausende von APIs mit unterschiedlichen Ansätzen.

Die meisten APIs ich für Paginierung verwenden Sie eine der folgenden Ansätze kennen:

  • offset und limit oder
  • page und size

Beide können 0 oder 1 indiziert sein. Welches ist besser? Das liegt an dir.

Wählen Sie einfach die, die Ihren Anforderungen entspricht und dokumentieren Sie es ordnungsgemäß.

Darüber hinaus könnten Sie einige Links in den Antwortdaten bereitstellen, um die Navigation zwischen den Seiten zu vereinfachen.

Betrachten Sie zum Beispiel 2. So stellen Sie einen Link für die vorherige Seite (Seite 1) und für die nächste Seite (Seite 3) Daten von Seite lesen:

{ 
    "data": [ 
     ... 
    ], 
    "paging": { 
     "previous": "http://api.example.com/foo?page=1&size=10", 
     "next": "http://api.example.com/foo?page=3&size=10" 
    } 
} 

Und denken Sie daran, immer eine API Sie würde gerne verwenden.