Я создаю гиперссылку RESTful API, которая будет использоваться для запроса транзакционных данных. Предполагается, что результаты будут разбиты на страницы.Как можно обрабатывать постраничные результаты из RESTful API с поддержкой гипермедиа, если базовые данные могут измениться?
Каждый вызов API запрашивает индексную таблицу базы данных. Поскольку я не хочу сохранять серверы результатов из-за соображений памяти, я думал получить данные на основе rownum, в зависимости от того, какая страница запрашивается. НАПРИМЕР. на странице 1, WHERE rownum <= 10
, на странице 2, WHERE rownum BETWEEN 11 AND 20
и т. д.
Однако данная база данных реплицируется из производственной системы и может потенциально добавлять записи в область уже запрошенного набора результатов. НАПРИМЕР. запрашивается страница 1 -> возвращается 10 строк -> транзакция вставлена в строку 5. Теперь вторая страница будет содержать запись, уже отображаемую на первой странице, так как результаты существенно подталкиваются к rownum.
Что было бы хорошим способом достижения моей цели создания API RESTful, управляемого гипермедией, который предоставляет разбитые транзакционные данные из базы данных без привязки к наборам результатов в течение всего сеанса?