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

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

Amir Hassan

Amir Hassan

1 يونيو 2025

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

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

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

في هذه المنشور، سنستكشف كيف يمكن تنفيذ عمليات 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 لتحسين كفاءة التطوير مع تكملة الكود، والتحقق من الأخطاء، وميزات تصحيح الأخطاء.

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

Explore more

كيفية الوصول إلى واجهة برمجة تطبيقات كلود 3.7 سونيت واختبارها باستخدام أبادوغ

كيفية الوصول إلى واجهة برمجة تطبيقات كلود 3.7 سونيت واختبارها باستخدام أبادوغ

إذا كنت متحمسًا لإصدار Anthropic الأخير، Claude 3.7 Sonnet، وترغب في استكشاف قدراته من خلال واجهة برمجة التطبيقات (API) أثناء اختباره باستخدام Apidog، فأنت في المكان الصحيح. 💡قبل أن نبدأ، دعني أعطيك لمحة سريعة: قم بتنزيل Apidog مجانًا اليوم لتسهيل عملية اختبار واجهة برمجة التطبيقات الخاصة بك، خاصة لاستكشاف ميزات Claude 3.7 Sonnet القوية - مثالي للمطورين الذين يرغبون في اختبار نماذج الذكاء الاصطناعي المتطورة مثل هذا!زر لنبدأ بشرح لماذا يعد Claude 3.7 Sonnet مهمًا. كشفت Anthropic مؤخرًا عن هذا

25 فبراير 2025

كيفية بناء واختبار واجهة برمجة تطبيقات Spring Boot باستخدام Apidog

كيفية بناء واختبار واجهة برمجة تطبيقات Spring Boot باستخدام Apidog

تعلم كيفية إنشاء واجهة برمجة تطبيقات RESTful بسيطة باستخدام Spring Boot واختبارها بأداة تسمى APIdog. Spring Boot هو إطار عمل يسهل تطوير الويب باستخدام Java. Apidog هي أداة تساعدك في اختبار وتصحيح واجهات برمجة التطبيقات الخاصة بك.

29 فبراير 2024

[دليل] تحويل واجهات برمجة التطبيقات SOAP إلى واجهات برمجة التطبيقات REST

[دليل] تحويل واجهات برمجة التطبيقات SOAP إلى واجهات برمجة التطبيقات REST

تحويل واجهات برمجة التطبيقات SOAP إلى REST أصبح أكثر وضوحًا. تقدم واجهات REST مرونة وقابلية للتوسع وبساطة في تعزيز الاتصال بين نظامين أو برنامجين. في هذه المقالة، اكتشف ما تحتاجه لتحويل واجهات SOAP إلى REST!

29 فبراير 2024

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

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