كيفية استخدام FastAPI لبناء خدمات API عالية الأداء

2/20/2026
4 min read

كيفية استخدام FastAPI لبناء خدمات API عالية الأداء

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

الخطوة الأولى: إعداد البيئة

يجب عليك التأكد من تثبيت Python 3.6+ في بيئة التطوير الخاصة بك. إذا لم يكن مثبتًا بعد، يمكنك زيارة الموقع الرسمي لـ Python لتنزيله وتثبيته.

تثبيت FastAPI و Uvicorn

لا يوفر FastAPI الخدمة بنفسه، بل يحتاج إلى خادم ASGI لاستضافته. هنا نستخدم Uvicorn، وهو خادم ASGI عالي الأداء. يمكنك استخدام الأمر التالي لتثبيت FastAPI و Uvicorn:

pip install fastapi uvicorn

الخطوة الثانية: بناء API الأساسية

دعنا ننشئ تطبيق FastAPI بسيط.

إنشاء ملف التطبيق

في دليل مشروعك، أنشئ ملف Python، مثل main.py، ثم اكتب فيه الكود التالي:

from fastapi import FastAPI

app = FastAPI()

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

في الكود أعلاه، قمنا أولاً باستيراد FastAPI وأنشأنا مثيلًا app. ثم، قمنا بتعريف مسار GET، وعند الوصول إلى المسار الجذري /، يتم إرجاع استجابة JSON بسيطة.

تشغيل الخادم

قم بتشغيل خادم FastAPI الخاص بك باستخدام الأمر التالي:

uvicorn main:app --reload
  • main: يشير إلى اسم الملف، بدون لاحقة .py.
  • app: يشير إلى مثيل FastAPI.
  • --reload: في وضع التطوير، يتم إعادة تشغيل الخادم تلقائيًا عند تغيير الملفات.

الخطوة الثالثة: تعريف المسارات ونماذج البيانات

لبناء API معقد، تحتاج إلى استخدام Pydantic لتعريف نماذج البيانات.

إنشاء نموذج البيانات

أضف المحتوى التالي إلى main.py:

from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: float
    is_available: bool = True

هذا الكود يستخدم Pydantic لإنشاء نموذج بيانات Item، الذي يحتوي على ثلاثة خصائص: اسم المنتج، السعر، وما إذا كان متاحًا.

إضافة مسار جديد

بعد ذلك، يمكننا تعريف مسار POST جديد لاستقبال بيانات من نوع Item:

@app.post("/items/")
async def create_item(item: Item):
    return {"item_name": item.name, "item_price": item.price}

في هذا المسار، سيقوم FastAPI بالتحقق تلقائيًا من البيانات المدخلة وتعيينها إلى نموذج Item.

الخطوة الرابعة: توليد الوثائق تلقائيًا

واحدة من أكبر مزايا FastAPI هي القدرة على توليد وثائق API تلقائيًا. يمكنك عرضها من خلال زيارة العناوين التالية:

  • Swagger UI: http://127.0.0.1:8000/docs
  • ReDoc: http://127.0.0.1:8000/redoc

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

الخطوة الخامسة: إضافة المصادقة

في التطبيقات العملية، تعتبر المصادقة جزءًا مهمًا. دعنا نضيف مصادقة بسيطة تعتمد على الأدوار.

إضافة تبعيات الأمان

استخدم طريقة Depends من FastAPI وOAuth2PasswordBearer لتنفيذ المصادقة:

from fastapi import Depends, HTTPException, status
from fastapi.security import OAuth2PasswordBearer

oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")

async def fake_decode_token(token):
    return {"sub": token}

async def get_current_user(token: str = Depends(oauth2_scheme)):
    user = fake_decode_token(token)
    if user is None:
        raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid authentication credentials")
    return user

حماية المسارات

بعد ذلك، يمكنك إضافة المصادقة إلى المسارات التي تحتاج إلى حماية:

@app.get("/users/me")
async def read_users_me(current_user: dict = Depends(get_current_user)):
    return current_user

الخطوة السادسة: نشر تطبيق FastAPI

عندما تنتهي من التطوير، قد تحتاج إلى نشر التطبيق على خادم سحابي. يمكنك اختيار استخدام Docker للنشر.

إنشاء Dockerfile

في دليل المشروع، أنشئ ملفًا باسم Dockerfile وأدخل المحتوى التالي:

FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8

COPY ./app /app

بناء صورة Docker

في الطرفية الخاصة بك، استخدم الأمر التالي لبناء صورة Docker:

docker build -t myfastapiapp .

تشغيل حاوية Docker

قم بتشغيل تطبيق FastAPI الخاص بك:

docker run -d --name fastapi -p 80:80 myfastapiapp

الخلاصة

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

Published in Technology

You Might Also Like

كيفية استخدام تقنيات الحوسبة السحابية: دليل كامل لبناء بنية تحتية سحابية أولى لكTechnology

كيفية استخدام تقنيات الحوسبة السحابية: دليل كامل لبناء بنية تحتية سحابية أولى لك

[[HTMLPLACEHOLDER0]] [[HTMLPLACEHOLDER1]] [[HTMLPLACEHOLDER2]] [[HTMLPLACEHOLDER3]] [[HTMLPLACEHOLDER4]] [[HTMLPLACEHOLD...

تحذير! والد Claude Code يقول بصراحة: بعد شهر، لن نحتاج إلى وضع التخطيط، وستختفي لقب مهندس البرمجياتTechnology

تحذير! والد Claude Code يقول بصراحة: بعد شهر، لن نحتاج إلى وضع التخطيط، وستختفي لقب مهندس البرمجيات

تحذير! والد Claude Code يقول بصراحة: بعد شهر، لن نحتاج إلى وضع التخطيط، وستختفي لقب مهندس البرمجيات مؤخراً، أصبحت مقابل...

2026年 Top 10 深度学习资源推荐Technology

2026年 Top 10 深度学习资源推荐

2026年 Top 10 深度学习资源推荐 随着深度学习在各个领域的迅速发展,越来越多的学习资源和工具涌现出来。本文将为您推荐2026年最值得关注的十个深度学习资源,帮助您在这一领域中快速成长。 1. Coursera Deep Learn...

2026年 Top 10 AI 代理:核心卖点解析Technology

2026年 Top 10 AI 代理:核心卖点解析

[[HTMLPLACEHOLDER0]] [[HTMLPLACEHOLDER1]] [[HTMLPLACEHOLDER2]] [[HTMLPLACEHOLDER3]] [[HTMLPLACEHOLDER4]] [[HTMLPLACEHOLD...

أفضل 10 أدوات AI لعام 2026: إطلاق العنان للإمكانات الحقيقية للذكاء الاصطناعيTechnology

أفضل 10 أدوات AI لعام 2026: إطلاق العنان للإمكانات الحقيقية للذكاء الاصطناعي

أفضل 10 أدوات AI لعام 2026: إطلاق العنان للإمكانات الحقيقية للذكاء الاصطناعي في عصر التطور التكنولوجي السريع اليوم، أصبح...

2026年 Top 10 AWS工具和资源推荐Technology

2026年 Top 10 AWS工具和资源推荐

2026年 Top 10 AWS工具和资源推荐 在快速发展的云计算领域,Amazon Web Services (AWS) 一直是领军者,提供丰富的服务和工具,帮助开发者、企业和技术专家在云上有效工作。以下是2026年值得关注的十大AWS工...