مرحبًا يا من هناك! كمورد لواجهة برمجة التطبيقات (API)، حصلت على نصيبي العادل من التجارب في إنشاء واجهات برمجة تطبيقات REST. في هذه المدونة، سأرشدك خلال عملية إنشاء REST API، ومشاركة بعض النصائح والحيل على طول الطريق.
ما هي واجهة برمجة تطبيقات REST؟
قبل أن نتعمق في إنشاء REST API، دعنا نتعرف سريعًا على ماهيتها. REST، الذي يرمز إلى نقل الحالة التمثيلية، هو أسلوب معماري لبناء خدمات الويب. REST API هي واجهة برمجة تطبيقات تتبع القيود المعمارية لـ REST. ويستخدم أساليب HTTP القياسية مثل GET وPOST وPUT وDELETE لتنفيذ العمليات على الموارد.
الخطوة 1: تحديد نقاط نهاية API الخاصة بك
الخطوة الأولى في إنشاء REST API هي تحديد نقاط نهاية API الخاصة بك. نقاط النهاية هي عناوين URL التي يستخدمها العملاء للتفاعل مع واجهة برمجة التطبيقات (API) الخاصة بك. تتوافق كل نقطة نهاية مع مورد محدد أو مجموعة من الموارد.
على سبيل المثال، إذا كنت تقوم بإنشاء واجهة برمجة تطبيقات لمكتبة، فقد يكون لديك نقاط نهاية مثل:
/كتب: يمكن استخدام نقطة النهاية هذه للحصول على قائمة بجميع الكتب الموجودة في المكتبة (باستخدام طلب GET) أو لإضافة كتاب جديد (باستخدام طلب POST)./كتب/{معرف}: يمكن استخدام نقطة النهاية هذه للحصول على كتاب معين من خلال معرفه (باستخدام طلب GET)، أو تحديث كتاب (باستخدام طلب PUT)، أو حذف كتاب (باستخدام طلب DELETE).
عند تحديد نقاط النهاية الخاصة بك، من المهم استخدام أسماء ذات معنى ووصفية. وهذا يسهل على العملاء فهم ما تفعله كل نقطة نهاية.
الخطوة 2: تصميم استجابات واجهة برمجة التطبيقات (API) الخاصة بك
بمجرد تحديد نقاط النهاية الخاصة بك، فإن الخطوة التالية هي تصميم استجابات واجهة برمجة التطبيقات (API) الخاصة بك. استجابات واجهة برمجة التطبيقات (API) هي البيانات التي ترجعها واجهة برمجة التطبيقات (API) الخاصة بك إلى العملاء عندما يقدمون طلبًا.
يعد تنسيق استجابات واجهة برمجة التطبيقات (API) أمرًا مهمًا. تستخدم معظم واجهات برمجة التطبيقات REST JSON (JavaScript Object Notation) لتنسيق استجاباتها لأنها خفيفة الوزن وسهلة القراءة ومدعومة على نطاق واسع.
على سبيل المثال، إذا قام العميل بتقديم طلب GET إلى/كتبنقطة النهاية، قد تعرض واجهة برمجة التطبيقات (API) الخاصة بك استجابة JSON مثل هذا:
[ { "id": 1، "title": "The Great Gatsby"، "author": "F. Scott Fitzgerald"، "year": 1925 }، { "id": 2، "title": "To Kill a Mockingbird"، "author": "Harper Lee"، "year": 1960 } ]
عند تصميم استجابات واجهة برمجة التطبيقات (API)، من المهم أيضًا تضمين رموز حالة HTTP المناسبة. تشير رموز حالة HTTP إلى نتيجة طلب العميل. على سبيل المثال، يشير رمز الحالة 200 إلى نجاح الطلب، بينما يشير رمز الحالة 404 إلى عدم العثور على المورد المطلوب.
الخطوة 3: اختر لغة البرمجة والإطار
الآن بعد أن قمت بتحديد نقاط النهاية الخاصة بك وتصميم استجابات واجهة برمجة التطبيقات الخاصة بك، فقد حان الوقت لاختيار لغة برمجة وإطار عمل لتنفيذ واجهة برمجة التطبيقات الخاصة بك.
هناك العديد من لغات البرمجة وأطر العمل التي يمكنك استخدامها لإنشاء REST API. تتضمن بعض الاختيارات الشائعة ما يلي:
- بايثون مع قارورة أو جانغو: Python هي لغة برمجة متعددة الاستخدامات، ويعتبر Flask وDjango من أطر عمل الويب الشائعة التي تسهل إنشاء واجهات برمجة تطبيقات REST.
- Node.js مع Express: Node.js هو وقت تشغيل JavaScript، وExpress هو إطار عمل تطبيق ويب بسيط لـ Node.js. إنه خيار رائع إذا كنت معتادًا على JavaScript.
- جافا مع التمهيد الربيع: Java هي لغة برمجة مستخدمة على نطاق واسع، وSpring Boot هو إطار عمل يبسط تطوير تطبيقات Java، بما في ذلك REST APIs.
يعتمد اختيار لغة البرمجة وإطار العمل على تفضيلاتك الشخصية، ومتطلبات مشروعك، ومجموعة التكنولوجيا الموجودة لديك.
الخطوة 4: تنفيذ واجهة برمجة التطبيقات (API) الخاصة بك
بمجرد اختيار لغة البرمجة وإطار العمل، فقد حان الوقت لتنفيذ واجهة برمجة التطبيقات (API) الخاصة بك. فيما يلي مثال بسيط لكيفية تنفيذ REST API باستخدام Python وFlask:
from flask import Flask, jsonify, request app = Flask(__name__) # نماذج بيانات الكتب = [ { "id": 1, "title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925 }, { "id": 2, "title": "To Kill a Mockingbird"، "author": "Harper Lee"، "year": 1960 } ] # احصل على جميع الكتب @app.route('/books',methods=['GET']) def get_books(): return jsonify(books) # احصل على كتاب محدد @app.route('/books/<int:book_id>',methods=['GET']) def get_book(book_id): للكتاب في الكتب: if book['id'] == book_id: return jsonify(book) return jsonify({"message": "Book not Found"}), 404 # أضف كتابًا جديدًا @app.route('/books',methods=['POST']) def add_book(): new_book = request.get_json() books.append(new_book) return jsonify(new_book), 201 if __name__ == '__main__': app.run(debug=True)
في هذا المثال، قمنا بإنشاء واجهة برمجة تطبيقات REST بسيطة بثلاث نقاط نهاية:/كتب(الحصول على ونشر) و/كتب/<int:book_id>(يحصل). تستخدم واجهة برمجة التطبيقات JSON لتنسيق استجاباتها وإرجاع رموز حالة HTTP المناسبة.
الخطوة 5: اختبار واجهة برمجة التطبيقات (API) الخاصة بك
بعد تنفيذ واجهة برمجة التطبيقات (API) الخاصة بك، من المهم اختبارها للتأكد من أنها تعمل كما هو متوقع. يمكنك استخدام أدوات مثل Postman أو cURL لاختبار واجهة برمجة التطبيقات الخاصة بك.
Postman هي أداة شائعة لاختبار واجهات برمجة التطبيقات. فهو يوفر واجهة مستخدم رسومية تجعل من السهل إرسال الطلبات إلى واجهة برمجة التطبيقات (API) الخاصة بك وعرض الردود.
cURL هي أداة سطر أوامر يمكن استخدامها أيضًا لاختبار واجهات برمجة التطبيقات. إنها تقنية أكثر قليلاً من Postman، لكنها قوية جدًا ويمكن استخدامها في البرامج النصية والأتمتة.


عند اختبار واجهة برمجة التطبيقات (API) الخاصة بك، تأكد من اختبار جميع نقاط النهاية الخاصة بك وجميع طرق HTTP الممكنة. قم أيضًا باختبار حالات الحافة ومعالجة الأخطاء للتأكد من أن واجهة برمجة التطبيقات الخاصة بك تعمل بشكل صحيح في جميع المواقف.
الخطوة 6: تأمين واجهة برمجة التطبيقات (API) الخاصة بك
يعد الأمان جانبًا مهمًا في أي واجهة برمجة تطبيقات. هناك عدة طرق لتأمين REST API الخاصة بك، بما في ذلك:
- المصادقة: اطلب من العملاء تقديم بيانات الاعتماد (مثل مفتاح واجهة برمجة التطبيقات (API) أو اسم المستخدم وكلمة المرور) للوصول إلى واجهة برمجة التطبيقات (API) الخاصة بك.
- إذن: تحديد الإجراءات المسموح للعميل بتنفيذها بناءً على بيانات الاعتماد الخاصة به.
- HTTPS: استخدم HTTPS لتشفير البيانات المنقولة بين العملاء وواجهة برمجة التطبيقات (API) الخاصة بك. وهذا يساعد على الحماية من هجمات الرجل في الوسط.
هناك العديد من المكتبات وأطر العمل التي يمكنها مساعدتك في تنفيذ المصادقة والترخيص في واجهة برمجة التطبيقات (API) الخاصة بك. على سبيل المثال، في Python with Flask، يمكنك استخدام Flask-HTTPAuth لتنفيذ المصادقة الأساسية.
الخطوة 7: قم بتوثيق واجهة برمجة التطبيقات (API) الخاصة بك
وأخيرًا، من المهم توثيق واجهة برمجة التطبيقات (API) الخاصة بك. يساعد التوثيق العملاء على فهم كيفية استخدام واجهة برمجة التطبيقات (API) الخاصة بك ونقاط النهاية المتوفرة.
يمكنك استخدام أدوات مثل Swagger أو OpenAPI لإنشاء وثائق API. تتيح لك هذه الأدوات تحديد نقاط نهاية واجهة برمجة التطبيقات (API) وتنسيقات الطلب والاستجابة والتفاصيل الأخرى بطريقة موحدة. يمكن بعد ذلك إنشاء الوثائق تلقائيًا وتقديمها بتنسيق سهل الاستخدام.
بعض واجهات برمجة التطبيقات المفيدة التي نقدمها
باعتبارنا موردًا لواجهة برمجة التطبيقات (API)، فإننا نقدم مجموعة متنوعة من واجهات برمجة التطبيقات (API) لأغراض مختلفة. على سبيل المثال، لدينا واجهات برمجة التطبيقات لفورتيوكسيتين هيدروبروميد,برومفيناك الصوديوم، وكاربيتوسين سيسن. يمكن استخدام واجهات برمجة التطبيقات هذه للوصول إلى البيانات المتعلقة بهذه المواد، مثل خصائصها الكيميائية ومعلومات الاستخدام والمزيد.
تواصل معنا للمشتريات
إذا كنت مهتمًا باستخدام واجهات برمجة التطبيقات الخاصة بنا أو كانت لديك أي أسئلة حول إنشاء REST API، فنحن نود أن نسمع منك. سواء كنت شركة ناشئة صغيرة أو مؤسسة كبيرة، يمكننا أن نوفر لك حلول واجهة برمجة التطبيقات (API) التي تحتاج إليها. تواصل معنا لبدء مناقشة المشتريات ومعرفة كيف يمكننا مساعدتك في تحقيق أهدافك.
مراجع
- ريتشاردسون، ليونارد، وسام روبي. خدمات الويب المريحة. أورايلي ميديا، 2007.
- فيلدنج، روي توماس. "الأساليب المعمارية وتصميم معماريات البرمجيات القائمة على الشبكات." أطروحة دكتوراه، جامعة كاليفورنيا، إرفاين، 2000.




