يحتفظ فريق Postman Open Technologies بمشروع مخصص للتعدين واستخراج المعرفة من عالم API. هناك ثروة من المعرفة الموجودة في OpenAPI، وSwagger، وPostman Collections، وSpectral، وغيرها من عناصر واجهة برمجة التطبيقات المتاحة على GitHub، ولكن أيضًا على الويب المفتوح.
لتوسيع قاعدة المعرفة الحالية، نريد تطوير نهج مفتوح المصدر للعثور على تعريفات Swagger وOpenAPI على الويب المفتوح، والزحف إلى صفحات الويب بحثًا عن تعريفات API، والتحقق من صحتها، ثم استهلاكها وفهرستها كجزء من البحث المستمر .
توجد بالفعل مصادر معروفة مثل GitHub وSwaggerHub وAPIs.guru للعثور على مواصفات OpenAPI/Swagger ولكننا نريد التركيز على استخراج تعريفات API من مصادر أقل شهرة وتقديمها للعالم . يمكن استخدام مجموعة البيانات لاحقًا لتحليل المواصفات للحصول على رؤى حول بعض الممارسات الشائعة بين واجهات برمجة التطبيقات.
يدور مشروع Open API Web Search حول توفير طريقة بسيطة للمطورين للعثور على تعريفات Swagger وOpenAPI الحالية على الويب المفتوح — غالبًا من مصادر أقل شهرة. الهدف النهائي لهذا المشروع هو بناء محرك بحث لواجهات برمجة التطبيقات حيث يمكن لمستهلكي ومنتجي واجهات برمجة التطبيقات اكتشاف واجهات برمجة التطبيقات باستخدام الكلمات الرئيسية التي تزيل تعقيد البحث في الويب عن مصطلحات محددة، مما يساعد في تحديد واجهات برمجة التطبيقات في بحر من صفحات الويب. تعرف على كيف يمكن أن يساعد Open API Web Search في إطلاق العنان لقوة واجهات برمجة التطبيقات المفتوحة.
يمكن تحقيق هدف هذا المشروع من خلال المعالم التالية:
شوكة و/أو استنساخ مستودع OpenAPI Web Search وتغيير الدليل فيه:
git clone https: //github.com/<username>/openapi-web-search.git
cd openapi - web - search / src / server
تثبيت التبعيات عبر الغزل:
yarn install
بدء الخادم المحلي:
yarn run dev
بعد تشغيل الخادم المحلي، يمكننا استخدام Postman لبدء إرسال طلبات http إلى نقاط النهاية المحددة. لقد قمت بتضمين مجموعة ساعي البريد في جذر المشروع لتبدأ:
قم بتشغيل نقاط النهاية التالية بالترتيب المحدد بعد تكوين Postman مع المجموعة أعلاه:
1. http: //localhost:1337/api/v1/run/crawler?latest=true
2. http: //localhost:1337/api/v1/process/index-files?skip=0&limit=20&sort=aes
3. http: //localhost:1337/api/v1/indexing
4. http: //localhost:1337/api/v1/search?q=<query>
توضيح: