بناء REST API بسيطة باستخدام Flask للمبتدئين

Amine
03/09/2024

مقدمة

Flask هو إطار عمل ويب مصغر (microframework) مكتوب بلغة Python ويستخدم لبناء تطبيقات ويب بسيطة وخفيفة الوزن. يُعتبر Flask خيارًا رائعًا لإنشاء REST API بسرعة وسهولة، خاصة للمبتدئين. في هذا الدليل، سنتعلم كيفية إعداد بيئة Flask، وإنشاء REST API بسيطة، وتشغيلها محليًا.

ما هو REST API ولماذا نحتاجه؟

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

الخطوة 1: إعداد بيئة العمل وتثبيت Flask

للبدء، تحتاج إلى تثبيت Python وPIP (مدير الحزم الخاص بـ Python) على جهازك. يمكنك التحقق من تثبيت Python عن طريق كتابة الأمر التالي في سطر الأوامر:

python --version

يجب أن ترى رقم إصدار Python مثبت على نظامك. إذا لم يكن Python مثبتًا، قم بتنزيله من الموقع الرسمي لـ Python واتبع تعليمات التثبيت.

بمجرد تثبيت Python، قم بتثبيت Flask باستخدام PIP، وهو مدير الحزم المرفق مع Python:

pip install Flask

تأكد من أن عملية التثبيت تمت بنجاح بدون أخطاء.

الخطوة 2: إنشاء مشروع Flask

لإنشاء مشروع Flask جديد، قم بإنشاء مجلد جديد لمشروعك وادخل إليه. بعد ذلك، أنشئ ملفًا جديدًا باسم app.py. سيكون هذا الملف هو نقطة الدخول لتطبيق Flask الخاص بك.

mkdir flask_api
cd flask_api
touch app.py  # على أنظمة Linux وMacOS
# في حالة استخدام Windows
echo.> app.py

يجب أن يكون لديك الآن مجلد مشروع جديد وملف app.py الذي سنستخدمه لكتابة كود Flask الخاص بنا.

الخطوة 3: إعداد تطبيق Flask

افتح ملف app.py في محرر النصوص المفضل لديك (مثل Visual Studio Code أو Sublime Text) وأضف الكود التالي لإنشاء تطبيق Flask بسيط:

from flask import Flask, jsonify, request

app = Flask(__name__)

# بيانات تجريبية
data = [
    {"id": 1, "name": "Item 1"},
    {"id": 2, "name": "Item 2"},
    {"id": 3, "name": "Item 3"}
]

# مسار GET لاسترجاع جميع العناصر
@app.route('/api/items', methods=['GET'])
def get_items():
    return jsonify(data)

# مسار GET لاسترجاع عنصر محدد بواسطة ID
@app.route('/api/items/', methods=['GET'])
def get_item(item_id):
    item = next((item for item in data if item["id"] == item_id), None)
    if item:
        return jsonify(item)
    else:
        return jsonify({"error": "Item not found"}), 404

# مسار POST لإنشاء عنصر جديد
@app.route('/api/items', methods=['POST'])
def create_item():
    new_item = request.get_json()
    new_item['id'] = len(data) + 1
    data.append(new_item)
    return jsonify(new_item), 201

# مسار PUT لتحديث عنصر موجود
@app.route('/api/items/', methods=['PUT'])
def update_item(item_id):
    item = next((item for item in data if item["id"] == item_id), None)
    if item:
        update_data = request.get_json()
        item.update(update_data)
        return jsonify(item)
    else:
        return jsonify({"error": "Item not found"}), 404

# مسار DELETE لحذف عنصر موجود
@app.route('/api/items/', methods=['DELETE'])
def delete_item(item_id):
    global data
    data = [item for item in data if item["id"] != item_id]
    return jsonify({"message": "Item deleted"}), 200

if __name__ == '__main__':
    app.run(debug=True)

في هذا الكود، قمنا بإنشاء عدة مسارات (routes) لمعالجة العمليات الأساسية لـ REST API: GET لاسترجاع البيانات، POST لإنشاء بيانات جديدة، PUT لتحديث البيانات، و DELETE لحذف البيانات. يستخدم app.run(debug=True) لتشغيل خادم Flask في وضع التصحيح، مما يسهل اكتشاف الأخطاء أثناء التطوير.

الخطوة 4: تشغيل الخادم واختبار REST API

لتشغيل الخادم، استخدم الأمر التالي في سطر الأوامر من داخل المجلد الذي يحتوي على ملف app.py:

python app.py

يجب أن ترى رسالة تشير إلى أن الخادم يعمل على http://127.0.0.1:5000/. يمكنك الآن استخدام أدوات مثل Postman أو cURL لاختبار REST API.

الخطوة 5: اختبار REST API باستخدام cURL

يمكنك استخدام الأوامر التالية لاختبار REST API باستخدام cURL:

  • استرجاع جميع العناصر:
curl http://127.0.0.1:5000/api/items
  • استرجاع عنصر محدد بواسطة ID:
curl http://127.0.0.1:5000/api/items/1
  • إنشاء عنصر جديد:
curl -X POST -H "Content-Type: application/json" -d "{\"name\": \"Item 4\"}" http://127.0.0.1:5000/api/items
  • تحديث عنصر موجود:
curl -X PUT -H "Content-Type: application/json" -d "{\"name\": \"Updated Item 1\"}" http://127.0.0.1:5000/api/items/1
  • حذف عنصر موجود:
curl -X DELETE http://127.0.0.1:5000/api/items/1

خاتمة

في هذا الدليل، تعلمنا كيفية إنشاء REST API بسيطة باستخدام Flask. من إعداد بيئة العمل إلى إنشاء مسارات API وتشغيل الخادم محليًا. تعد REST API أداة قوية لبناء تطبيقات ويب تفاعلية وقابلة للتوسع. تابعنا للحصول على مزيد من الدروس المتقدمة حول Flask وREST API.

ابقَ على تواصل لمزيد من الدروس المتقدمة حول Flask وكيفية استخدامه بكفاءة في مشاريعك البرمجية.

التعليقات

اترك تعليقاً