Derniers sujets API pagination

Bonjour à tous !

Tout comme dans ce sujet, je cherche la bonne méthode pour effectuer une pagination sur le point de terminaison /latest.json (Sujets), en sachant spécifiquement quelle est la dernière page.

J’ai découvert que, lorsqu’il reste des résultats à récupérer, la réponse contient une "more_topics_url": "/latest?page=X" pour la page suivante. Cependant, selon mes tests, il semble que même lorsqu’il n’y a plus de résultats, nous obtenions une autre page dans ce champ.

Existe-t-il une méthode appropriée pour savoir quand nous avons atteint la dernière page ?

Merci d’avance !

I can’t reproduce this.

For example, you can request

https://meta.discourse.org/c/site-feedback/blog/l/latest.json?page=1

that contains 30 topics and a more_topics_url with "/c/site-feedback/blog/l/latest?page=2".

Then you request that and get 25 more topics and a missing more_topics_url because it’s the end.

2 « J'aime »

Thanks for such quick response and for checking it out!

You’re right. I was messing on my development environment on the per_page settings trying to avoid creating 30+ topics to test this, and came across this method, but changing it there seems to have the side-effect I mentioned, though returning the amount of results I set there.

Seems like passing ?per_page=X doesn’t have any effect on this endpoint (following your example: https://meta.discourse.org/c/site-feedback/blog/l/latest.json?page=1&per_page=5, still returns 30 rows). Is there a proper way to adjust this setting?

Thanks again in advance!

2 « J'aime »

Quelqu’un a-t-il résolu ce problème ?

Je serais aussi intéressé par ce truc de per_page.

1 « J'aime »