yuusuke-roughの日記

Java,SpringBoot,趣味等

無限スクロールとPageableでログを取得する in Spring Boot

はじめに

2022年9月16日、開発始めてから早くも3カ月。

別の大会が控えているため、貴重な休日はプログラミングと大会に備えるという日々。

今日は、長らく悩んでいたWebSocketでのセッションについて、いくつかの疑問を残すもおおかた解決したので貯めていた記録を書くことにした。

参考にしたサイトを思い出しながら探し、端的にまとめられるよう努めたい。

 

まず、Pageable。

PageableHandlerMethodArgumentResolverをOverrideしたものを使用していたが、アノテーションで事足りると知ったので結論だけを残したい。

 

つづいて、無限スクロール。

スクロールした時にログ取得のリクエストを送るように設定した。

 

あまり良い組み合わせじゃないかもしれないので、ご指摘があった時は適宜修正したい。

 

内容

Pageableについては単純に、以下を参考にした。

qiita.com

 

無限スクロールは

qiita.com

 

developer.mozilla.org

 

具体的な処理は、ターゲットがビューポートと交差したタイミングで、既存ログを保存→ログ取得のリクエストを送信→JSONで受け取り表示。ページの上限になったら読み込み停止。

バッグエンドでは、Pageで呼び出したログをJacksonでJSONに変換している。