آشنایی با API توییتر تا بتوانید خودتان طراحی کنید

وقتی نوبت به طراحی API سیستم می‌رسد، مهندسان نرم‌افزار اغلب گزینه‌های مختلفی را در نظر می‌گیرند REST در مقابل RPC در مقابل GraphQL (یا سایر رویکردهای ترکیبی) برای تعیین بهترین تناسب برای یک کار یا پروژه خاص.

در این مقاله به بررسی چگونگی X (توییتر) API homeline timeline (x.com/home) طراحی شده است و از چه رویکردهایی برای حل چالش‌های زیر استفاده می‌کند:

  • نحوه دریافت لیست توییت ها

  • نحوه انجام مرتب سازی و صفحه بندی

  • نحوه بازگرداندن نهادهای سلسله مراتبی/پیوند شده (توئیت ها، کاربران، رسانه ها)

  • نحوه دریافت جزئیات توییت

  • چگونه یک توییت را “لایک” کنیم

ما فقط این چالش‌ها را در سطح API بررسی می‌کنیم و پیاده‌سازی باطن را به‌عنوان یک جعبه سیاه در نظر می‌گیریم، زیرا به خود کد باطن دسترسی نداریم.

نمایش درخواست‌ها و پاسخ‌های دقیق در اینجا ممکن است سخت و دشوار باشد، زیرا خواندن اشیاء عمیق تو در تو و تکراری دشوار است. برای سهولت دیدن ساختار بارگیری درخواست/پاسخ، من سعی کردم API تایم لاین اصلی را در TypeScript “تایپ” کنم. بنابراین وقتی نوبت به نمونه‌های درخواست/پاسخ می‌رسد، از درخواست و پاسخ استفاده می‌کنم انواع به جای اشیاء واقعی JSON. همچنین، به یاد داشته باشید که انواع ساده شده و بسیاری از خواص برای اختصار حذف شده است.

شما ممکن است همه انواع را در آن پیدا کنید انواع/x.ts فایل یا در …

Source link