موضوع API يختار المشاركات الخطأ - دائمًا بعيدًا عن الحقيقي بمقدار 5

/t/slug/123.json?post_number=10 يحصل على المنشور الخامس. /t/slug/123.json?post_number=50 يحصل على المنشور الخامس والأربعين، وهكذا. إنه دائمًا يكون مخطئًا بمقدار 5. إذا كنت تريد الحصول على جميع المنشورات، عليك استخدام التصفح عبر الصفحات، وإذا لم تأخذ ذلك في الاعتبار، فستحصل على قائمة غير صحيحة.

لا يمكنني إلا أن أتكهن بأن هذا تم ليشمل بعض المنشورات السابقة للسياق. إذا كانت هذه الحالة، ففي رأيي، كان ينبغي أن يُفعل ذلك في واجهة المستخدم، وليس في الـ API.

يقدم هذا الـ endpoint معلومات بما في ذلك المنشور المحدد، على سبيل المثال:

○ → curl -s 'https://meta.discourse.org/t/fkb-pro-social-theme/234323.json?post_number=40' | jq .post_stream.posts[].post_number
33
34
35
36
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

كتطبيق أحادي الصفحة (single-page application)، يستخدم Discourse واجهة الـ API الخاصة به بكفاءة لتقليل العمل. ليس من المعقول إجراء استدعاء API واحد لكل منشور؛ سيؤدي ذلك إلى تضخيم كمية التفاعل بين العميل والخادم بشكل كبير.

من السهل جدًا تحديد المنشور الذي تتوقعه من النتيجة. نفس الشيء كما في الأعلى، الحصول على محتوى المنشور رقم 40 فقط:

○ → curl -s 'https://meta.discourse.org/t/fkb-pro-social-theme/234323.json?post_number=40' | jq -r '.post_stream.posts[] | select(.post_number == 40) | .cooked'

<p>Hi Tiago,</p>
<p>Can you please clarify it a little bit? Some screenshots, your actual code and where is your advert appear would be very helpful. Thank you <img src="https://emoji.discourse-cdn.com/twitter/slightly_smiling_face.png?v=12" title=":slightly_smiling_face:" class="emoji" alt=":slightly_smiling_face:" loading="lazy" width="20" height="20"></p>

أو، إذا كنت تريد حقًا إرجاع معلومات حول المنشور الفردي الذي تستعلم عنه فقط، فأنت حر في إجراء استعلام Data Explorer يقوم بذلك فقط.

إعجاب واحد (1)

حسناً، ولكن أين تم توثيق ذلك؟

أنا لست ضد التقسيم إلى صفحات.

يمكنك رؤية وثائق واجهة برمجة التطبيقات هنا: https://docs.discourse.org/#tag/Topics/operation/getSpecificPostsFromTopic

إعجاب واحد (1)