Apidog

منصة تطوير API تعاونية متكاملة

تصميم API

توثيق API

تصحيح أخطاء API

محاكاة API

اختبار API الآلي

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

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

Amir Hassan

Amir Hassan

Updated on نوفمبر 29, 2024

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

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

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

ما هي CRUD في FastAPI؟

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

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

  • الإنشاء (C): تتعلق هذه العملية بإضافة بيانات جديدة إلى قاعدة البيانات. في FastAPI، يمكنك إنشاء بيانات من خلال إرسال طلب POST إلى نقطة النهاية المناسبة. على سبيل المثال، لإضافة مستخدم جديد إلى النظام، سترسل طلب POST إلى نقطة نهاية إنشاء المستخدم مع تفاصيل المستخدم ذات الصلة في جسم الطلب.
  • القراءة (R): تتعلق عملية القراءة باسترجاع البيانات الموجودة من قاعدة البيانات. في FastAPI، يمكنك إجراء عمليات القراءة باستخدام طلبات GET. على سبيل المثال، إذا كنت تريد استرجاع جميع المستخدمين أو تفاصيل مستخدم محدد، سترسل طلب GET إلى نقطة النهاية الخاصة بذلك.
  • التحديث (U): تتيح لك هذه العملية تعديل البيانات الموجودة في قاعدة البيانات. في FastAPI، يمكنك تحديث البيانات باستخدام طلبات PUT أو PATCH. يستخدم طلب PUT لتحديث المورد بالكامل، بينما يستخدم PATCH لتعديل الحقول المحددة من المورد. على سبيل المثال، لتحديث معلومات مستخدم، سترسل طلب PUT أو PATCH إلى نقطة نهاية المستخدم مع التفاصيل المحدثة.
  • الحذف (D): تتضمن عملية الحذف إزالة البيانات من قاعدة البيانات. في FastAPI، يمكنك حذف البيانات باستخدام طلبات DELETE. على سبيل المثال، لحذف مستخدم من النظام، سترسل طلب DELETE إلى نقطة نهاية المستخدم مع معرف المستخدم أو مفتاحه الفريد.

كيفية إنشاء عمليات 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 مع جسم الطلب لإنشاء عنصر جديد.
POST http://localhost:8000/items
{
    "id": 1,
    "name": "تفاحة",
    "price": 0.5
}
طلب POST
  • الحصول على جميع العناصر: أرسل طلب GET لاسترجاع جميع العناصر.
GET http://localhost:8000/items
طلب GET
  • تحديث عنصر: أرسل طلب PUT مع جسم الطلب لتحديث عنصر.
GET http://localhost:8000/items
طلب PUT
  • حذف عنصر: أرسل طلب DELETE لحذف عنصر.
DELETE http://localhost:8000/items/1
طلب DELETE

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

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

نصائح إضافية

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

  • عند استخدام FastAPI، استفد من دعم IDE مثل Visual Studio Code لتحسين كفاءة التطوير مع تكملة الكود، والتحقق من الأخطاء، وميزات تصحيح الأخطاء.
  • نظم قاعدة التعليمات البرمجية الخاصة بك عن طريق فصل المسارات ووظائف التعامل إلى وحدات مختلفة، مما يعزز القابلية للصيانة وقابلية التوسع. استخدم دعم FastAPI غير المتزامن للعمليات غير المتزامنة لتعزيز الأداء وقدرات التزامن.
  • تأكد من أمان API مع آليات المصادقة والتفويض المناسبة. استخدم نماذج Pydantic للتحقق من صحة البيانات والتسلسل للحفاظ على تناسق البيانات ومعالجة الأخطاء بشكل فعال. نفذ CORS لمشاركة الموارد عبر الأصول عند الحاجة.
  • أنشئ اختبارات وحدة شاملة واختبارات تكامل لضمان موثوقية وفعالية API. تعامل مع الأخطاء بشكل لطيف باستخدام معالجة استثناءات FastAPI واستجابات الأخطاء المخصصة. راقب الأداء مع السجلات والمحللات، وابق FastAPI وتبعياتها محدثة للإصلاحات والميزات الجديدة.

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

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

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

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

@apidog

فبراير 25, 2025

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

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

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

Amir Hassan

فبراير 29, 2024

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

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

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

Amir Hassan

فبراير 29, 2024