Learn VisualLearn API

次のページの開始位置を、2つの方法で指定する

ページネーションには、オフセット方式とカーソル方式の2つの方式があります。オフセット方式は、位置を行数で表します。?offset=20&limit=10は、先頭の20行を飛ばして、続く10行を返します。カーソル方式は、最後に取得した行そのものを指す値で位置を表します。?cursor=eyJpZCI6MzB9のような値を送ると、その行より後ろの行を返します。

オフセット方式でページを順に取得している途中に、現在のオフセットより前へ新しい行が挿入されると、それ以降の行がすべて1つずつ後ろにずれます。その結果、クライアントは、すでに取得した行を再び受け取ったり、まだ取得していない行を受け取れなかったりします。カーソル方式は、先頭からの件数ではなく特定の行を基準にするため、この問題が起きません。

この課の目標

オフセット方式とカーソル方式が、それぞれどのように位置を表すかを説明できる。ページ取得の間に挿入が起きたとき、オフセット方式の結果だけがずれる理由を説明できる。

オフセット方式で2ページ目を見ているとき、データの先頭に新しい行が挿入された。次のリクエストで2ページ目の結果はどうなる?