Должен ли пейджинг быть нулевым индексом в API?

При реализации Rest API с параметрами для подкачки подкачка должна иметь нулевой индекс или начинаться с 1. Параметрами будут Page и PageSize.

Для меня имеет смысл начать с 1, так как речь идет о страницах


person The Applicationist    schedule 23.02.2016    source источник
comment
Итак, используйте 1 и задокументируйте его правильно :)   -  person cassiomolin    schedule 24.02.2016
comment
Ну да! Это один из тех этапов принятия решения, когда я бы не хотел, чтобы люди критиковали это решение долгие годы! Если, конечно, кто-то предпочитает один способ, а кто-то другой... Я счастлив просто выбрать что-то и пойти с этим!   -  person The Applicationist    schedule 24.02.2016
comment
Существуют сотни тысяч API, использующих десятки различных подходов. Просто выберите подход, который вам больше подходит, и, опять же, должным образом задокументируйте его. Создайте API, который вы хотели бы использовать.   -  person cassiomolin    schedule 24.02.2016


Ответы (1)


Для него нет стандарта. Просто оглянитесь вокруг: существуют сотни тысяч API, использующих разные подходы.

Большинство известных мне API используют один из следующих подходов к разбивке на страницы:

  • offset и limit или
  • page и size

Оба могут иметь индекс 0 или 1. Как лучше? Это зависит от вас.

Просто выберите тот, который соответствует вашим потребностям, и должным образом задокументируйте его.


Кроме того, вы можете предоставить некоторые ссылки в полезной нагрузке ответа, чтобы упростить навигацию между страницами.

Предположим, вы читаете данные со страницы 2. Итак, предоставьте ссылку на предыдущую страницу (страница 1) и на следующую страницу (страница 3):

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

И помните, всегда создавайте API, который вы хотели бы использовать.

person cassiomolin    schedule 24.02.2016