テーブル利用履歴一覧取得APIのページネーション
テーブル利用履歴一覧取得APIのページネーションは、
Query Paramatersの
limitとcursor
を使用して実施するのだと思われます。
だた、cursorに値を指定する(例えばデフォルトの"-1")と、
{
"title": "Internal Server Error",
"type": "about:blank",
"status": 500
}
が返ってきました。これは正しい動作でしょうか?
また、cursorを使用して次の範囲を取得する場合、
cursorには、”取得する一覧の先頭にしたいデータのテーブル利用IDを指定してください。”
という記載があるので、以下の流れで実施すればよいのでしょうか?
①1ページ目を例えばlimit=10で取得
②結果が10件ある場合、末尾の要素のテーブル利用IDをcursorに指定して再度一覧取得
③取得した結果の最初の要素以外が2ページ目の取得結果
最初、①で取得した要素のテーブル利用IDに+1して、cursorに設定することも考えたのですが、
sortというパラメータもあり(ただし、現状は、: 利用開始日時しか指定できないので、必ずテーブル利用ID順に並ぶ?)
加算する方法だと問題があるかと考えました。
ベストアンサー
-
ご報告ありがとうございます。
cursorに値を指定する(例えばデフォルトの"-1")
こちらに関しましては仕様書の記載に誤りがあり、正確にはクォーテーション無しの
-1
を指定頂くのが正しい仕様となります。"status": 500
のエラーが返る件は不適切なため修正を予定しております。また、
cursor
にテーブル利用IDを指定して頂いてリクエストすることも可能ですが、limit
以上の件数が存在する場合はレスポンスヘッダーのLink
に次のページの一覧を取得できるURI (rel="next"
) がセットされるため、そちらを利用して次のページの取得が可能です。最初に利用開始日等の条件を指定して
cursor
はキー自体未指定(デフォルト値の-1
が適用)でリクエストし、レスポンスヘッダーに次のURIがあれば取得する・・・というのを繰り返すことで指定条件に当てはまるデータの全件取得が可能です。
答え
@ashizaki
本件の修正を01/25(水)に行いました。
仕様書上のデフォルト値の表記に関してですが、こちらはOpenAPIのドキュメント化ツール側の仕様として string 型にはダブルクォーテーションが自動で付与して表示されるものだったため表記はそのままとなっておりますが、ページネーションに関する説明の詳細を追記しております。