كيف يمكنني إنشاء واجهة برمجة تطبيقات (ويب) جيدة

StackOverflow https://stackoverflow.com/questions/33728

  •  09-06-2019
  •  | 
  •  

سؤال

سأقوم بإنشاء واجهة برمجة التطبيقات (API) لتطبيق ويب وأنا مهتم بما يمكن أن يقترحه الأشخاص كممارسات جيدة.

أخطط بالفعل لجعله إصدارًا (الإصدار 1 يمكنه التحكم فقط في جوانب معينة من النظام، ويمكن للإصدار 2 التحكم بشكل أكبر، ولكن هذا قد يحتاج إلى تغيير في طريقة إجراء المصادقة التي قد تكون غير متوافقة مع الإصدار 1)، و ستكون المصادقة مختلفة عن اسم المستخدم/كلمة المرور القياسية التي يستخدمها الأشخاص لتسجيل الدخول (إذا استخدم شخص ما أداة ضارة، فلن يعرضه لانتحال الهوية الكاملة، تمامًا ما تسمح به واجهة برمجة التطبيقات).

هل لدى أي شخص المزيد من الأفكار أو الأمثلة على المواقع ذات واجهات برمجة التطبيقات الجيدة التي استخدمتها؟

هل كانت مفيدة؟

المحلول

إقرأ ال خدمات الويب المريحة الكتاب، الذي يمنحك نظرة عامة جيدة حول كيفية استخدام REST عمليًا، والتعرف على السرعة الكافية للبدء الآن، مع بعض الثقة.يعد هذا أكثر فائدة من مجرد النظر إلى واجهة برمجة التطبيقات (API) الموجودة، لأنه يناقش أيضًا خيارات التصميم والمقايضات.

نصائح أخرى

1) قم بحفظ رقم الإصدار مباشرة في عنوان URL بدلاً من تمريره كمعلمة، حيث يمنحك ذلك الحرية الكاملة لتغيير تنظيم مساحة اسم واجهة برمجة التطبيقات (API) الخاصة بك مع كل إصدار.

2) اجعل قواعد إعادة كتابة عنوان URL الخاص بك (إن وجدت) بسيطة/بسيطة قدر الإمكان (ولكن ليس أكثر بساطة)، مع جعل عناوين URL الخاصة بك جميلة قدر الإمكان (ولكن ليس أكثر).

3) ابحث دائمًا عن أفضل رمز حالة HTTP يمكنك العثور عليه لكل استجابة (ولا تنسَ 202 و207، على سبيل المثال).

4) تنفيذ منطق التحقق من صحة المعلمة الفاشي، ورسائل الخطأ الإعلامية.

5) استخدم رؤوس طلب HTTP حيثما كان ذلك مناسبًا بدلاً من المعلمات (مثل قبول، على سبيل المثال، للسماح للعملاء بتحديد تنسيق البيانات المطلوب للاستجابة).

6) قم بتنظيم "الأسماء" الخاصة بك بحيث يتم فصل عناوين URL التي تستخدمها جماهير العملاء المختلفة بالقرب من "جذر" شجرة URL الخاصة بك (وهذا يجعل من السهل فرض آليات مصادقة مختلفة لتلك الجماهير المختلفة إذا لزم الأمر، أو حتى تعيين أجزاء مختلفة من شجرة URL الخاصة بك إلى خوادم مختلفة).

7) إذا كنت تعرض صفحات ويب عادية من نفس النطاق مثل واجهات برمجة التطبيقات الخاصة بك وتستخدم نفس بيانات اعتماد المصادقة، فاطلب رأس X-Requested-With في طلبات واجهة برمجة التطبيقات الخاصة بك لتجنب ثغرات XSRF.

أود أن ألقي نظرة على واجهات برمجة التطبيقات التي أثبتت جدواها:

  1. يوتيوب API
  2. تويتر API

هناك الكثير من الجدل حول ما إذا كانت واجهات برمجة التطبيقات هذه "جيدة" ولكن أعتقد أن نجاحها واضح، وكلها سهلة الاستخدام.

يستخدم استراحة.

تتميز بنية خدمات الويب RESTful بسهولة التنفيذ وتستخدم نقاط القوة ودلالات HTTP للغرض المقصود منها.إنها موجهة نحو الموارد، تمامًا مثل الويب نفسه.

خدمات الويب الأمازون, وتقدم Google والعديد من الشركات الأخرى واجهات برمجة تطبيقات REST للتفاعل مع منتجاتها.

استخدم الراحة.

اقرأ عن معايير واجهات برمجة التطبيقات (APIs)، أو انسخ الأفكار من إحدى الأفكار الشائعة.

كن حذرًا عند مصادقة المستخدمين.

ابدأ بسيطًا جدًا.

أنشئ موقعًا يستخدم واجهة برمجة التطبيقات (API) الخاصة بك (حتى لو لم تكن مفيدة) للتحقق من عمل الأشياء.ربما يمكنك إنشاء نسخة محمولة من الموقع أو شيء يفرض عليك استخدام واجهة برمجة التطبيقات بتعمق كبير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top