FastAPI هو إطار عمل حديث وسريع الأداء يمكن استخدامه لبناء واجهات برمجة التطبيقات باستخدام بايثون (الإصدار 3.8+) بناءً على تلميحات نوع بايثون القياسية. مع اعتماد العديد من المطورين على FastAPI كإطار بايثون عالي الأداء ومعياري (استنادًا إلى OpenAPI ومخطط JSON)، فإن شعبيته في تزايد باعتباره أداة تطوير واجهات برمجة التطبيقات المفضلة للمطورين.
إذا كنت تبحث عن بديل لأداة واجهة برمجة التطبيقات السابقة لديك، فكر في Apidog اليوم - تقدم Apidog واجهة مستخدم بسيطة وبديهية سهلة الاستخدام للغاية. ابدأ باستخدام Apidog اليوم من خلال النقر على الزر أدناه! 👇 👇 👇
لتعمل واجهات برمجة التطبيقات مع الخوادم، سيكون على العملاء أن يكونوا قادرين على التواصل مع واجهات برمجة التطبيقات. نتيجة لذلك، يستخدم جانب العميل معاملات الاستعلام (ومعاملات المسار حسب الحالة) لطلب بيانات معينة بمساعدة عناوين الويب. ستقوم هذه المقالة بالتفصيل أكثر حول ما هي معاملات الاستعلام في FastAPI، وكيف يمكنك استخدامها للتطبيقات.
ما هي معاملات الاستعلام في FastAPI؟
تشير معاملات الاستعلام في FastAPI بشكل أساسي إلى معاملات الاستعلام العادية التي تستخدم في سياق إطار عمل FastAPI. إنها طريقة أخرى للعملاء لنقل معلومات إضافية إلى نقاط نهاية واجهة برمجة التطبيقات عبر عنوان ويب (أو URL).

الميزات الرئيسية لمعلمات الاستعلام في FastAPI
هناك بعض الاختلافات الطفيفة في كيفية الوصول إلى معاملات الاستعلام في FastAPI مقارنة بأنواع معاملات الاستعلام الأخرى.
تم الإعلان عنها في معلمات الوظائف: على عكس معاملات المسار، التي هي جزء من مسار URL نفسه، يتم تعريف معاملات الاستعلام كمعلمات وظيفة ضمن نقطة نهاية واجهة برمجة التطبيقات الخاصة بك. سيتم اعتبار أي معلمة لم يتم الإعلان عنها بوضوح كمعلمة مسار كمعلمة استعلام.
يتم الوصول إليها من خلال وظيفة Query: للوصول إلى معاملات الاستعلام داخل وظيفة نقطة النهاية الخاصة بك، تستخدم وظيفة Query من مكتبة fastapi. يمكن أن تأخذ هذه الوظيفة عدة معلمات، بما في ذلك:
default: قيمة افتراضية سيتم استخدامها إذا لم يتم توفير المعلمة في الطلب.description: وصف للمعلمة لأغراض التوثيق.
اختياري وإلزامي: يمكن أن تكون معاملات الاستعلام اختيارية أو إلزامية. من خلال تعيين قيمة افتراضية، تجعل المعلمة اختيارية. إن عدم توفر القيمة الافتراضية يجعل من الضروري للعميل تقديم المعلمة في الطلب.

مثال على كيفية استخدام معاملات الاستعلام في FastAPI (تتضمن مقتطفات كود)
[لاحظ أن مقتطفات الكود المقدمة في هذا القسم تتطلب تعديلًا، لأنها قد لا تتناسب مع متطلبات الترميز الخاصة بك]
1. التقسيم
يمكنك استخدام معاملات الاستعلام في FastAPI لفصل كميات كبيرة من السجلات أو العناصر وتقسيمها إلى مجموعات أصغر. هذا يمكن أن يمنع إرهاق المستخدم بكمية كبيرة من المعلومات دفعة واحدة.
from fastapi import FastAPI, Query
app = FastAPI()
@app.get("/items")
async def get_items(skip: int = Query(default=0), limit: int = Query(default=10)):
# منطق لاسترداد العناصر من قاعدة البيانات بناءً على قيم التخطى والحد
return items
شرح إضافي:
في مثال الكود هذا، skip و limit هما معاملات استعلام. بشكل افتراضي، سيعيد أول 10 عناصر (محدودة بواسطة limit). قد تكون طريقة تعديل هذه القيم في عنوان URL كما يلي:
http://localhost:8000/items?skip=10&limit=20
سيقوم هذا باسترداد العناصر من الفهرس 10 (تخطي أول 10) إلى الفهرس 29 (محدودة بـ 20).
2. التصفية
يمكن استخدام معاملات الاستعلام في FastAPI لتصفية البيانات استنادًا إلى معايير محددة.
يظهر مثال الكود أدناه معاملة استعلام في FastAPI التي تسترد المنتجات.
from fastapi import FastAPI, Query
app = FastAPI()
@app.get("/products")
async def get_products(category: str | None = Query(default=None), price_from: float | None = Query(default=None), price_to: float | None = Query(default=None)):
# منطق لتصفية المنتجات استنادًا إلى الفئة، وإطار السعر
return products
شرح إضافي:
يمكن للمستخدمين اختيار تحديد category ونطاق سعر ( price_from و price_to ) لتصفية قائمة المنتجات المُرجعة.
3. الفرز
وجد العديد من المطورين أيضًا أن معاملات استعلام FastAPI مناسبة لفرز البيانات.
from fastapi import FastAPI, Query
app = FastAPI()
@app.get("/users")
async def get_users(sort_by: str = Query(default="name", choices=["name", "created_at"])):
# منطق لفرز المستخدمين استنادًا إلى معلمة sort_by المقدمة
return users
شرح إضافي:
يمكن للمستخدمين اختيار كيفية فرز قائمة المستخدمين المُرجعة بواسطة واجهة برمجة التطبيقات إما بواسطة name أو created_at باستخدام معلمة الاستعلام sort_by.
4. البحث
تعتبر معاملات الاستعلام في FastAPI مفيدة لتنفيذ وظائف البحث في العديد من تطبيقات الويب.
مع معاملات استعلام FastAPI، يمكنك بسرعة التقاط مصطلح البحث بالكود التالي:
from fastapi import FastAPI, Query
app = FastAPI()
@app.get("/search")
async def search(q: str = Query(default="")):
# منطق للبحث عن الموارد استنادًا إلى مصطلح البحث (q)
return search_results
شرح إضافي:
يمكن للمستخدمين البحث عن موارد محددة من خلال تقديم مصطلح البحث في معلمة q.
لمعرفة المزيد حول كيفية العمل مع معاملات الاستعلام في FastAPI، قم بزيارة موقعهم.
Apidog - بديل متفوق لـ FastAPI
بديل ممتاز لتطوير واجهات برمجة التطبيقات بدلاً من FastAPI هو Apidog.
تشارك Apidog و FastAPI العديد من الميزات المفيدة، مثل واجهة مستخدم سهلة وبديهية ومعايير مستوى الصناعة على الويب. ومع ذلك، ما يتيح لـ Apidog أن يبرز هي الميزات الإضافية التي لا تمتلكها FastAPI.

توليد الأكواد الآلية للعميل باستخدام Apidog
تدعم Apidog كل من مطوري واجهة برمجة التطبيقات الجدد وذوي الخبرة من خلال تسهيل توليد الأكواد للعملاء بعدة لغات برمجة.

حدد زر </> الموجود في الزاوية العليا اليمنى من نافذة Apidog. بعد الضغط على هذا الزر، انقر على توليد الكود العميل للمتابعة.

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

أولاً، حدد زر الاختبار المشار إليه بالسهم 1 في الصورة أعلاه. يجب أن ترى بعد ذلك + سيناريو اختبار جديد، المشار إليه بالسهم 2.

املأ التفاصيل اللازمة بشأن سيناريو اختبارك هنا. تأكد من أن الأسماء تشرح نفسها حتى لا تضطر للتفكير مرتين في حال نسيت موضوع سيناريو الاختبار.

أضف خطوة(خطوات) إلى سيناريو اختبارك من خلال النقر على قسم "إضافة خطوة". يجب أن تكون قادرًا على رؤية الصورة أدناه.

حدد استيراد من API من القائمة المنسدلة.

حدد جميع واجهات برمجة التطبيقات التي ترغب في تضمينها في سيناريو اختبارك. في المثال أعلاه، تم تضمين واجهة برمجة التطبيقات المسماة NumberConversionSOAP.

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

للبدء، أولاً، ابحث عن زر "مشاركة" كما هو موضح بالسهم 1، واضغط على زر "+ جديد" كما هو موضح بالسهم 2

توفر Apidog خيار اختيار من يمكنه رؤية توثيق واجهة برمجة التطبيقات الخاصة بك بالإضافة إلى تعيين كلمة مرور للملف، بحيث يمكن للأفراد أو المنظمات المختارة فقط مشاهدتها.
بمجرد ملء جميع الحقول المطلوبة مثل اسم توثيق واجهة برمجة التطبيقات واللغة، اضغط على إدخال على لوحة المفاتيح الخاصة بك أو على زر حفظ.
عرض أو مشاركة توثيق واجهة برمجة التطبيقات الخاصة بك

تقوم Apidog بتجميع تفاصيل مشروع واجهة برمجة التطبيقات الخاص بك في توثيق واجهة برمجة التطبيقات القابل للرؤية من خلال عنوان URL لموقع الويب. كل ما عليك القيام به هو النقر فوق رابط نسخ الرابط تحت إجراءات، ولصق URL في متصفحك المفضل لرؤية توثيق واجهة برمجة التطبيقات الخاصة بك!
إذا كنت مهتمًا، اقرأ هذه المقالة حول كيفية توليد توثيق واجهة برمجة التطبيقات باستخدام Apidog.
استنتاج
تعد معاملات الاستعلام في FastAPI نوعًا خاصًا من معاملات الاستعلام التي يمكن استخدامها مع واجهات برمجة تطبيقات FastAPI. تشبه معاملات الاستعلام الأخرى، فإنها تؤدي نفس الوظائف، مثل التقسيم، والتصفية، والبحث، والفرز. على عكس معاملات الاستعلام في JavaScript، فإنها تختلف في الطريقة التي يتم الوصول بها - تحتاج إلى استيراد مكتبات FastAPI وQuery قبل أن تتمكن من تنفيذ معاملات الاستعلام في FastAPI.
تعتبر Apidog بديلاً قويًا لـ FastAPI كأداة لتطوير واجهة برمجة التطبيقات. مع ميزات مثيرة للإعجاب ومفيدة مثل توليد الأكواد للعملاء، وتوثيق واجهة برمجة التطبيقات الآلي، وسيناريوهات الاختبار، فإن Apidog هو التطبيق الوحيد الذي تحتاج إلى تنزيله.
