خالد مرتضى نشر 14 نوفمبر 2021 أرسل تقرير نشر 14 نوفمبر 2021 هل اذا كنت ساضيف تعليقات الى المنشورات هل من الافضل ان اضع التعليقات في endpoint منفصلة api/comment ام api/post/:id/comment 2 اقتباس
1 سامح أشرف نشر 14 نوفمبر 2021 أرسل تقرير نشر 14 نوفمبر 2021 من الأفضل أن تستخدم الطريقة الثانية لأنها تضمن عدم إختلاط التعليقات أو إضافة تعقيد إلى الطلب، فعلى سبيل المثال إن كان لديك منشورين وتريد الحصول على التعليقات الخاصة بالمنشور الثاني فسيكون لديك عنوان URL سهل للوصول إلى التعليقات كالتالي: /api/posts/2/comments حيث رقم 2 في العنوان السابق يعبر عن معرف id المنشور، وبالتالي يمكنك الحصول على التعليقات الخاصة بمنشور معين فقط. وهذا المبدأ في التنظيم يسمى RESTful APIs ويمكنك أن تتعلم أكثر عنه من خلال هذه المقالة: بينما لإستعمال الطريقة الثانية فيجب عليك أن تقوم بإرسال معرف المنشور post id مع الطلب ومن ثم يتم معالجة الطلب من قِبل المتحكم controller للحصول على معرف المنشور وإعادة التعليقات الخاصة بهذا المنشور مما يضيف طبقة إضافية من التعقيد ليس لها داعٍ. 1 اقتباس
0 شرف الدين حفني نشر 14 نوفمبر 2021 أرسل تقرير نشر 14 نوفمبر 2021 قبل الاجابة على السؤال سنضع قاعدة شبه عامة , عندما تتعامل مع موارد(resoueces) فقط نقوم بصنع نقطة نهاية(end point) منفصلة ماهي الموارد الموارد هي أي كائن له خصائص ودوال وعﻻقات مع كائنات اخرى فمثلاً الuser وال post موارد لان كلا منهم له خصائص وحقول منفردة ويوجد عمليات او دوال خاصة بكلٍ منهم ويوجد عﻻقات بينهم وبين بعض هل التعليق يمكن أن نعتبره من الموارد؟ هذا سؤال شائك قليلاً حيث أن التعليق له خصائص مثل المحتوى وتاريخ النشر والتعديل وعمليات مثل الاضافة والتعديل وعﻻقة بينه وبين المستخدم الذي نشره والمنشور الذي كتب فيه التعليق ولكن في نفس الوقت يمكن أن نعتبر التعليق أحد حقول المنشور, حيث أنه يعتمد بشكل أساسي على المنشور فلن يحتاج أحد أن يستدعي التعليق منفرداً, وإنما دائماً يتم إستدعاؤه مع المنشور فلذلك يتم غالباً إعتبارهُ حقل مدمج ضمن الpost ولذلك من الأفضل أن يتم تصميم الapi على تلك الشاكلة /api/post/post_id/comment ويتم إستخﻻص المُعرف الخاص بالمُستخدم عبر إستخراجه من الjwt المُرسلة عبر الheaders اقتباس
السؤال
خالد مرتضى
هل اذا كنت ساضيف تعليقات الى المنشورات هل من الافضل ان اضع التعليقات في endpoint منفصلة
api/comment
ام
api/post/:id/comment
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.