كيفية استخدام FastAPI لإنشاء ومعالجة طلبات POST

اكتشف كيف تستخدم FastAPI لإنشاء ومعالجة طلبات POST. يغطي هذا الدليل الشامل الإعداد، والتحقق من البيانات، وتحميل الملفات، والمزيد. مثالي للمبتدئين والمطورين ذوي الخبرة. #FastAPI #API #apidog.com

Amir Hassan

Amir Hassan

13 أغسطس 2025

كيفية استخدام FastAPI لإنشاء ومعالجة طلبات POST

Apidog للمؤسسات

نشر محلي

SSO & RBAC

متوافق مع SOC 2

استكشاف Apidog Enterprise

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

زر

ما هو FastAPI؟

FastAPI هو إطار عمل ويب حديث وسريع (عالي الأداء) لبناء واجهات برمجة التطبيقات باستخدام بايثون 3.7+ استنادًا إلى تلميحات نوع بايثون القياسية. تم تصميمه ليكون سهل الاستخدام ولتوفير أداء عالي يتماشى مع Node.js و Go. كما أن الإطار سهل الفهم وبسيط، مما يجعله خيارًا ممتازًا للمبتدئين والخبراء على حد سواء.

لماذا نستخدم FastAPI؟

هناك عدة أسباب تجعل المطورين يختارون FastAPI على الأطر الأخرى:

  1. السرعة: FastAPI سريع. في الواقع، إنه واحد من أسرع أطر الويب المتاحة اليوم.
  2. سهولة الاستخدام: مع الوثائق التفاعلية التلقائية (بفضل Swagger UI و ReDoc)، من السهل جدًا اختبار واجهات برمجة التطبيقات الخاصة بك.
  3. تحقق من صحة البيانات: يستخدم FastAPI Pydantic للتحقق من صحة البيانات، مما يضمن أن البيانات التي تتلقاها واجهتك صحيحة.
  4. جاهز للاستخدام غير المتزامن: يدعم البرمجة غير المتزامنة من الصندوق، مما يجعله مناسبًا لتطبيقات الويب الحديثة عالية الأداء.
Fast api

إعداد FastAPI

قبل أن نغوص في طلبات POST، دعنا نعد FastAPI بسرعة. ستحتاج إلى تثبيت بايثون على نظامك. ثم، يمكنك تثبيت FastAPI وخادم ASGI، مثل Uvicorn، باستخدام pip:

pip install fastapi uvicorn

بمجرد أن يكون لديك FastAPI مثبتًا، يمكنك إنشاء تطبيق FastAPI بسيط. لنبدأ بإنشاء ملف يسمى main.py:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

لتشغيل التطبيق، استخدم Uvicorn:

uvicorn main:app --reload

افتح متصفحك وانتقل إلى http://127.0.0.1:8000. يجب أن ترى استجابة JSON: {"Hello": "World"}.

Post request

إنشاء نقطة نهاية POST

الآن بعد أن أصبح لدينا تطبيق FastAPI الأساسي يعمل، دعنا نضيف نقطة نهاية POST. تُستخدم طلبات POST لتقديم البيانات ليتم معالجتها إلى مورد محدد. للتعامل مع طلب POST في FastAPI، تستخدم @app.post الزخرفة.

إليك مثال بسيط عن كيفية التعامل مع طلب POST:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    name: str
    description: str = None
    price: float
    tax: float = None

@app.post("/items/")
def create_item(item: Item):
    return item

في هذا المثال:

  1. نقوم بتعريف مثيل لـ FastAPI.
  2. نحن ننشئ نموذج Pydantic Item الذي يصف هيكل بيانات جسم الطلب.
  3. نستخدم @app.post الزخرفة لتعريف نقطة نهاية POST /items/.
  4. تأخذ وظيفة create_item كائن Item كمدخل وتعيده.

لاختبار ذلك، يمكنك استخدام عميل API مثل apidog أو ببساطة استخدام واجهة Swagger التفاعلية المقدمة من FastAPI على http://127.0.0.1:8000/docs.

التعامل مع البيانات والتحققات

يتحقق FastAPI تلقائيًا من بيانات الطلب مقابل نموذج Pydantic. إذا لم تتوافق البيانات مع النموذج، يقوم FastAPI بإعادة رمز الحالة 422 مع تفاصيل حول أخطاء التحقق.

على سبيل المثال، إذا قمت بإرسال طلب POST إلى /items/ مع جسم JSON التالي:

{
    "name": "اسم العنصر",
    "price": 25.5
}

سيقبل FastAPI هذا الطلب لأنه يستوفي متطلبات نموذج Item. ومع ذلك، إذا قمت بإغفال حقل price، فسيرفض FastAPI الطلب ويعيد خطأ.

استخدام Apidog لاختبار طلب POST الخاص بك في FastAPI

Apidog هو أداة قوية لاختبار واجهات برمجة التطبيقات. يتيح لك إنشاء وحفظ طلبات واجهة برمجة التطبيقات، وتنظيمها في مجموعات، ومشاركتها مع فريقك.

زر

إليك كيف يمكنك استخدام Apidog لاختبار طلب POST الخاص بك:

  1. افتح Apidog وأنشئ طلبًا جديدًا.
Select new request

2. قم بتعيين طريقة الطلب إلى POST.

Select Post request

3. أدخل عنوان URL للمورد الذي تريد تحديثه. أضف أي رؤوس أو معلمات إضافية تريد تضمينها ثم انقر على زر "إرسال" لإرسال الطلب.

4. تحقق من أن الاستجابة هي ما كنت تتوقعه.

Verify the response

طلبات POST المتقدمة

الآن، دعنا نستكشف بعض السيناريوهات الأكثر تقدمًا. يسمح لك FastAPI بعمل الكثير مع طلبات POST. على سبيل المثال، يمكنك:

التعامل مع تحميل الملفات

إليك مثال عن كيفية التعامل مع تحميل الملفات باستخدام FastAPI:

from fastapi import FastAPI, File, UploadFile

app = FastAPI()

@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile):
    return {"filename": file.filename}

ستقبل هذه النقطة نهاية ملفًا وتعيد اسم الملف. يمكنك اختبار ذلك باستخدام apidog أو واجهة Swagger.

معالجة بيانات النماذج

لإجراء معالجة بيانات النموذج، استخدم فئة Form من FastAPI:

from fastapi import FastAPI, Form

app = FastAPI()

@app.post("/login/")
def login(username: str = Form(...), password: str = Form(...)):
    return {"username": username}

يخلق هذا المثال نقطة نهاية تسجيل دخول تقبل بيانات النموذج. يمكنك اختبار ذلك باستخدام إرسال نموذج في متصفحك أو أداة اختبار API.

استخدام معلمات المسار

يمكنك أيضًا دمج معلمات المسار مع طلبات POST:

from fastapi import FastAPI

app = FastAPI()

@app.post("/users/{user_id}/items/")
def create_item_for_user(user_id: int, item: Item):
    return {"user_id": user_id, "item": item}

تنشئ هذه النقطة نهاية عنصرًا لمستخدم معين، يتم التعرف عليه بواسطة معلمة مسار user_id.

الخاتمة

FastAPI هو إطار قوي يجعل من السهل بناء واجهات برمجة تطبيقات قوية باستخدام بايثون. دعمها للتحقق من البيانات، الوثائق التفاعلية، والأداء العالي يجعلها خيارًا ممتازًا لتطوير الويب الحديث.

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

تذكر، سواء كنت تبني واجهة برمجة تطبيقات بسيطة أو تطبيق معقد، فإن FastAPI يحتوي على الأدوات التي تحتاجها للنجاح. ش coding سعيد!

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

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

كيفية استخدام FastAPI لإنشاء ومعالجة طلبات POST