Должен ли курсор нумерации страниц содержать закодированные параметры запроса? - PullRequest
0 голосов
/ 28 января 2019

В последнее время я тону в двух школах мысли о назначении курсора для подкачки:

  1. Курсор содержит только свою позицию (например, последний идентификатор элемента, последний созданный в ...).

    Таким образом, сервер может обслуживать любую комбинацию курсора и параметра запроса.

    Например:

    • Первый запрос: ?queryParam=X&cursor=, сервер отвечает cursor=C1
    • Второй запрос: ?queryParam=Y&cursor=C1, сервер все еще может обработать этот запрос с новым параметром запроса (даже если cursor=C1 связан с параметром запроса X)
  2. Курсор содержит оригинальные параметры запроса.При указании курсора другие параметры запроса игнорируются.

    То есть, если запрос с несовместимыми параметрами запроса <-> пара курсоров, сервер может игнорировать параметры запроса или даже отвечает с ошибкой

    • Первый запрос: ?queryParam=X&cursor=, сервер отвечает cursor=C1, который кодирует queryParam=X
    • Второй запрос: ?queryParam=Y&cursor=C1, извлечение сервера queryParam=X из cursor=C1 и игнорирование queryParam=Y из запроса.

Каков предпочтительный подход к созданию курсора в отношении двух вышеупомянутых вариантов?

В последний раз, когда я проверяю, API Google (в частности, Gmail API :: list messages)) использовать первый подход.

...