كيفية إنشاء عمليات CRUD بسرعة باستخدام FastAPI

في هذا المنشور، سنستعرض كيفية تنفيذ عمليات CRUD بسرعة باستخدام FastAPI. سنبدأ بإعداد FastAPI وقاعدة البيانات، ثم ننتقل إلى إنشاء نقاط نهاية API لعمليات CRUD.

Amir Hassan

Amir Hassan

21 أغسطس 2025

كيفية إنشاء عمليات CRUD بسرعة باستخدام FastAPI

تعتبر عمليات CRUD أساسية في أي تطبيق ويب يتضمن تخزين البيانات واسترجاعها. تسمح هذه العمليات للمستخدمين بإنشاء سجلات جديدة، واسترداد السجلات الموجودة، وتحديث السجلات الموجودة، وحذف السجلات من قاعدة البيانات.

تسهل FastAPI تنفيذ عمليات CRUD من خلال توفير طريقة بسيطة وسهلة لتعريف نقاط نهاية API والتعامل مع طلبات HTTP. تستفيد من تلميحات نوع Python لتوليد وثائق API تفاعلية تلقائيًا وإجراء تحقق من صحة البيانات، مما يجعلها أداة قوية لبناء واجهات API قوية ومُوثقة بشكل جيد.

في هذا المنشور، سوف نستكشف كيفية تنفيذ عمليات CRUD بسرعة باستخدام FastAPI. سنبدأ بإعداد FastAPI وقاعدة البيانات، ثم نتناول إنشاء نقاط نهاية API لعمليات CRUD. سنغطي أيضًا تنفيذ عمليات الإنشاء والقراءة والتحديث والحذف، بالإضافة إلى اختبار والتحقق من هذه العمليات. فلنبدأ ولندخل عالم FastAPI وعمليات CRUD!

ما هي CRUD في FastAPI؟

في FastAPI، تشير CRUD إلى العمليات الأساسية التي يمكن تنفيذها على البيانات في قاعدة بيانات أو نظام تخزين بيانات. تشير CRUD إلى الإنشاء والقراءة والتحديث والحذف، وتمثل الوظائف الأساسية التي تعتبر ضرورية لإدارة البيانات في معظم التطبيقات.

إليك شرح مفصل لعمليات CRUD في FastAPI:

كيفية إنشاء عمليات CRUD بسرعة باستخدام FastAPI

لتنفيذ وظيفة CRUD باستخدام FastAPI، اتبع هذه الخطوات:

الخطوة 1: تثبيت FastAPI: تأكد من تثبيت Python على نظامك، وتنفيذ الأمر التالي في سطر الأوامر لتثبيت FastAPI:

pip install fastapi

الخطوة 2: إنشاء تطبيق FastAPI: قم بإنشاء ملف Python جديد (مثل main.py) واستورد الوحدات والمكتبات المطلوبة:

from fastapi import FastAPI
from pydantic import BaseModel
from typing import List

app = FastAPI()

الخطوة 3: تعريف نماذج البيانات: استخدم Pydantic لتعريف نماذج البيانات. على سبيل المثال:

class Item(BaseModel):
    id: int
    name: str
    price: float

الخطوة 4: إنشاء طرق ومعالجات CRUD: استخدم FastAPI لإنشاء طرق ووظائف المعالجة المعنية لعمليات CRUD. إليك مثال:

items = []

@app.get("/items", response_model=List[Item])
async def read_items():
    return items

@app.post("/items", response_model=Item)
async def create_item(item: Item):
    items.append(item)
    return item

@app.put("/items/{item_id}", response_model=Item)
async def update_item(item_id: int, item: Item):
    items[item_id] = item
    return item

@app.delete("/items/{item_id}")
async def delete_item(item_id: int):
    del items[item_id]
    return {"message": "تم حذف العنصر"}

الخطوة 5: تشغيل التطبيق: لتشغيل تطبيق FastAPI واختبار وظيفة APIRouter، استخدم خادم ASGI مثل uvicorn. تأكد من أنك قد قمت بتثبيت uvicorn:

pip install uvicorn

في محرر IDE الخاص بك، افتح الطرفية، وانتقل إلى الدليل حيث يتم تخزين ملف main.py، ثم قم بتشغيل الأمر التالي لبدء التطبيق:

uvicorn main:app --reload

ستقوم هذه العملية بتشغيل تطبيق FastAPI على المنفذ الافتراضي (عادةً 8000) مع تمكين إعادة التحميل التلقائي، لذا سيتم إعادة تحميل التطبيق تلقائيًا عند إجراء تغييرات على الشيفرة.

الخطوة 6: اختبار عملية CRUD

استخدم أداة عميل HTTP (مثل cURL أو Apidog) لإرسال طلبات واختبار وظائف الإنشاء والقراءة والتحديث والحذف. إليك بعض الطلبات المثال:

POST http://localhost:8000/items
{
    "id": 1,
    "name": "تفاح",
    "price": 0.5
}
 طلب POST
GET http://localhost:8000/items
طلب GET
GET http://localhost:8000/items
طلب PUT
DELETE http://localhost:8000/items/1
 طلب DELETE

أخيرًا، يمكننا كتابة اختبارات لعملية الحذف في Apidog. يمكننا محاكاة طلب DELETE إلى نقطة الحذف والتحقق مما إذا كان رمز حالة الاستجابة هو 200 (مما يشير إلى حذف ناجح). ثم يمكننا محاولة استرداد البيانات المحذوفة من قاعدة البيانات والتأكد من أنها غير موجودة.

من خلال كتابة هذه الاختبارات، نستطيع ضمان أن عمليات CRUD لدينا تعمل بشكل صحيح وتتعامل مع سيناريوهات مختلفة، مثل الإدخال غير الصالح أو البيانات غير الموجودة.

نصائح إضافية

استخدم دعم IDE مثل Visual Studio Code لتحسين كفاءة التطوير مع ملء تلقائي للشيفرة، والتحقق من الأخطاء، وميزات تصحيح الأخطاء.

باتباع هذه الممارسات، يمكنك تطوير واجهات API قوية وفعالة باستخدام FastAPI، مما يسهل عملية التطوير والنشر الخاصة بك.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات