تقسيم صفحات أحدث المواضيع عبر واجهة برمجة التطبيقات

مرحبًا بالجميع!

بشكل مشابه لـ هذا الموضوع، أبحث عن الطريقة الصحيحة لإجراء الترقيم (pagination) على نقطة النهاية /latest.json (المواضيع)، وتحديدًا معرفة ما هي الصفحة الأخيرة.

لقد توصلت إلى أنه عندما توجد نتائج أخرى يجب جلبها، تحتوي الاستجابة على \"more_topics_url\": \"/latest?page=X\" للصفحة التالية. ومع ذلك، بناءً على اختباراتي، يبدو أنه حتى عندما لا توجد نتائج أخرى، نحصل على صفحة أخرى في هذا الحقل.

هل توجد طريقة صحيحة لمعرفة متى نصل إلى الصفحة الأخيرة؟

شكرًا مقدّمًا!

لا يمكنني إعادة إنتاج هذا.

على سبيل المثال، يمكنك طلب

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

الذي يحتوي على 30 موضوعًا و more_topics_url يحتوي على "/c/site-feedback/blog/l/latest?page=2".

ثم تطلب ذلك وتحصل على 25 موضوعًا إضافيًا و more_topics_url مفقود لأنه النهاية.

شكرًا لك على الرد السريع وعلى التحقق من الأمر!

أنت محق. كنت أجرب في بيئة التطوير الخاصة بي إعدادات per_page لتجنب إنشاء أكثر من 30 موضوعًا لاختبار هذا، ووصلت إلى هذه الطريقة، لكن تغييرها هناك يبدو أنه يسبب الأثر الجانبي الذي ذكرته، رغم أنه يعيد عدد النتائج الذي حدده هناك.

يبدو أن تمرير ?per_page=X لا يؤثر على هذه النقطة النهائية (بناءً على مثالك: https://meta.discourse.org/c/site-feedback/blog/l/latest.json?page=1&per_page=5، ما زالت تعيد 30 صفًا). هل هناك طريقة صحيحة لتعديل هذا الإعداد؟

شكرًا مجددًا مقدمًا!

هل حلّ أحد هذه المشكلة؟

سيكون الأمر مثيرًا للاهتمام أيضًا في ما يتعلق بـ per_page.