تصميم استجابات JSON في RESTful API: كيف يبدو الشكل الجيد

2024-06-28

عندما يخترع كل endpoint شكله الخاص، تتضخم طبقات التوافق في العميل. معيار موحد صغير يوفر وقتًا طويلًا لاحقًا.

Envelope

سواء استخدمت { data, meta, errors } أو لا، الاتساق بين جميع endpoints هو الأهم.

{ "data": { "id": 1 }, "meta": { "requestId": "abc" } }

شكل الأخطاء

اجمع بين حالة HTTP وكود آلي ورسالة بشرية وتفاصيل حقول لتسهيل المعالجة في العميل.

الترقيم الصفحي

وحّد نهج cursor أو offset على مستوى المنتج، وثبّت اسم مصفوفة البيانات.

التسمية والزمن

لا تخلط camelCase وsnake_case، واستخدم تواريخ ISO 8601 دائمًا.

التطور والإصدارات

في v1 اعتمد تغييرات إضافية فقط، وانقل التغييرات الكاسرة إلى v2 بوضوح.