أفضل أدوات CLI خفيفة الوزن لمحاكاة API

ستة أدوات سطر أوامر خفيفة الوزن لمحاكاة واجهات برمجة التطبيقات، مرتبة حسب حجمها: Prism، Mockoon CLI، json-server، MockServer، WireMock، وApidog CLI. أوامر موثقة.

INEZA Felin-Michel

INEZA Felin-Michel

13 يوليو 2026

أفضل أدوات CLI خفيفة الوزن لمحاكاة API

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

أنت بحاجة إلى واجهة برمجة تطبيقات وهمية لتطوير عليها، وأنت بحاجة إليها في غضون الثلاثين ثانية القادمة. ليست خدمة مستضافة، وليست حزمة Docker Compose، وليست واجهة مستخدم رسومية لتتفاعل معها. مجرد أمر يقرأ ملفًا ويبدأ في تقديم الاستجابات على localhost.

هذا ما يفعله الخادم الوهمي الخفيف. توجّهه نحو مواصفات OpenAPI أو ملف بيانات صغير، وتشغل أمرًا واحدًا، وتحصل على نقاط نهاية واقعية يمكن لواجهة المستخدم الأمامية أو الاختبارات الخاصة بك الوصول إليها بينما لا يزال الخادم الخلفي الحقيقي قيد الإنشاء. الأفضل منها يأتي كملف ثنائي واحد أو حزمة قابلة للتشغيل عبر npx، ويبدأ في أقل من ثانية، ولا يحتاج إلى أي إعدادات تقريبًا. بعض الخيارات الأثقل هنا تعمل على JVM وتفعل أكثر بكثير؛ فهي تكسب مكانها عندما تحتاج إلى مطابقة متقدمة للطلبات أو سلوك حافظ للحالة.

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

button

ما الذي يجعل أداة محاكاة سطر الأوامر "خفيفة الوزن"

الخفة تتعلق بالبصمة والاحتكاك، وليس بعدد الميزات. عند مقارنة هذه الأدوات، زن أربعة أمور:

الأدوات مرتبة من الأصغر والأسرع أولاً. Prism و Mockoon CLI و json-server هي الأدوات التي يمكنك تشغيلها باستخدام npx وبدون تثبيت عالمي.

Prism (Stoplight)

يحول Prism ملف OpenAPI إلى خادم وهمي مباشر بأمر واحد. إذا كان لديك بالفعل مواصفات، فهذه هي المحاكاة الأقل جهدًا في القائمة؛ فهو يقرأ paths و examples ومخططاتك ويقدم استجابات تتطابق معها.

npx @stoplight/prism-cli mock ./openapi.yaml

يبدأ ذلك خادمًا على http://127.0.0.1:4010 مع توصيل كل عملية في مواصفاتك. يعيد Prism الـ example الذي حددته للاستجابة، أو ينشئ واحدًا عشوائيًا صالحًا من المخطط إذا لم تفعل. كما يتحقق من صحة الطلبات الواردة مقابل المواصفات، بحيث يحصل الاتصال غير الصحيح على 422 مناسبة بدلاً من المرور الصامت. للتثبيت العام، استخدم npm install -g @stoplight/prism-cli وأسقط npx.

الأفضل لـ: الفرق التي تتبنى منهجية "المواصفات أولاً" والذين يرغبون في أن تظل المحاكاة أمينة للعقد. Prism مرخص تحت Apache-2.0 ويدعم OpenAPI 3.1، 3.0، 2.0، ومجموعات Postman.

حدود صريحة: Prism عديم الحالة. طلب POST لا يحتفظ بأي شيء، لذلك لن يقوم بمحاكاة تدفق إنشاء ثم قراءة. محاكاته جيدة بقدر جودة مواصفاتك؛ الأمثلة الضعيفة تعني استجابات ضعيفة. بالنسبة للمحاكاة الدقيقة للعقد، هذا هو الهدف بالضبط، وهو يتناسب جيدًا مع سير عمل أدوات محاكاة REST API.

Mockoon CLI

يقوم Mockoon CLI بتشغيل واجهة برمجة تطبيقات وهمية من ملف بيانات، إما ملف قمت بتصديره من تطبيق Mockoon المكتبي المجاني أو مواصفات OpenAPI عادية. يتيح لك تطبيق سطح المكتب بناء المسارات بصريًا؛ يقوم CLI بتشغيل نفس البيئة بدون واجهة رسومية في CI أو على خادم.

npx @mockoon/cli start --data ./mockoon-env.json --port 3000

وجّه --data إلى ملف بيئة Mockoon أو ملف OpenAPI JSON/YAML وسيبدأ الخدمة فورًا. إذا كان ملف البيانات من إصدار Mockoon أقدم، يقوم CLI بترحيله في الذاكرة دون المساس بالملف الأصلي. قم بتثبيته عالميًا باستخدام npm install -g @mockoon/cli إذا كنت تفضل أمر mockoon-cli دائمًا.

الأفضل لـ: الفرق التي ترغب في تصميم المحاكاة في واجهة رسومية (GUI) ولكن تشغيلها بدون واجهة رسومية. إنه مرخص تحت رخصة MIT ولديه صورة Docker رسمية للتوزيعات.

حدود صريحة: يتم بناء أغنى المسارات في تطبيق سطح المكتب، لذا فإن التعديل اليدوي لملف بيئة JSON قد يكون صعبًا. إذا كنت لا ترغب في تطبيق مصاحب على الإطلاق، فإن Prism أو json-server يحتفظان بكل شيء في ملف واحد تكتبه يدويًا.

json-server

json-server هو أسرع طريقة لتزييف واجهة برمجة تطبيقات REST عندما لا تكون لديك مواصفات بعد. تكتب ملف JSON عادي يصف بياناتك، وهو يولد واجهة برمجة تطبيقات REST كاملة حوله، تتضمن GET و POST و PUT و PATCH و DELETE.

echo '{ "posts": [{ "id": 1, "title": "hello" }] }' > db.json
npx json-server db.json

يقوم ذلك بخدمة http://localhost:3000/posts مع عمليات CRUD حقيقية. طلب POST إلى /posts يضيف سجلًا بالفعل ويكتبه مرة أخرى إلى db.json، لذا تحصل على سلوك حافظ للحالة مجانًا، وهو ما لن يمنحك إياه Prism و WireMock جاهزًا. تحصل أيضًا على تصفية وفرز وتقسيم صفحات عبر معاملات الاستعلام. السلسلة الحالية 1.x تراقب الملف وتعيد التحميل عند التغيير افتراضيًا؛ قم بالتثبيت عالميًا باستخدام npm install -g json-server إذا كنت تريده دائمًا في PATH الخاص بك.

الأفضل لـ: مطوري الواجهة الأمامية الذين يحتاجون إلى خلفية REST عاملة في دقيقة واحدة، قبل وجود واجهة برمجة التطبيقات الحقيقية. إنه مرخص تحت رخصة MIT وهو أحد خيارات خوادم المحاكاة خفيفة الوزن لواجهة RESTful API التي لا تحتاج إلى أي مواصفات.

حدود صريحة: يفترض شكل REST بنمط الموارد. المسارات المخصصة بشكل عميق، ونقاط النهاية غير REST، أو المطابقة الصارمة للرؤوس تقع خارج نطاق ما يفعله بوضوح. إنها أداة نماذج أولية، وليست أداة للتحقق من العقود.

MockServer

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

java -jar mockserver-netty-5.15.0-no-dependencies.jar -p 1080

يبدأ ذلك MockServer على المنفذ 1080. ثم ترسل التوقعات إلى واجهة برمجة تطبيقات REST الخاصة به لتكوين السلوك، أو تشغيله برمجيًا. يمكن لمستخدمي Node تخطي ملف jar الخام واستخدام الغلاف الرسمي:

npm install mockserver-node
const mockserver = require('mockserver-node');
mockserver.start_mockserver({ serverPort: 1080 });

الأفضل لـ: اختبارات التكامل التي تحتاج إلى تحكم دقيق في كيفية شكل الطلب وكيف تستجيب المحاكاة. إنه مرخص تحت Apache-2.0 ويدعم HTTP و HTTPS والمزيد على منفذ واحد.

حدود صريحة: إنه خادم JVM، لذا فهو أثقل وأبطأ في البدء من أدوات Node، وإعداد التوقعات أكثر تفصيلاً من الإشارة إلى المواصفات. إذا كنت تحتاج فقط إلى خدمة مواصفات، فهذا مبالغ فيه؛ وإذا تجاوزت احتياجاتك ذلك، فإن مقارنة بدائل MockServer توضح المفاضلات.

WireMock (مستقل)

WireMock هو الخادم الوهمي الآخر الراسخ لـ JVM، وهو شائع في عالم اختبار Java و JVM. يقوم ملف jar المستقل الخاص به بتشغيل نفس المحرك الذي قد تقوم بتضمينه في اختبار JUnit، لذا فإن المحاكاة التي تبنيها في التطوير المحلي تنتقل مباشرة إلى مجموعة الاختبار الخاصة بك.

java -jar wiremock-standalone.jar --port 8080

يقوم ذلك بالخدمة على المنفذ 8080. يقرأ WireMock تعيينات التذييل من دليل mappings/ أو واجهة برمجة تطبيقات JSON الخاصة به، ويمكنه أيضًا تسجيل حركة المرور الحقيقية وإعادة تشغيلها كتذييلات، وهو أمر مفيد عند محاكاة واجهة برمجة تطبيقات تابعة لجهة خارجية لا تتحكم فيها. توجد صورة Docker رسمية wiremock/wiremock لـ CI.

الأفضل لـ: فرق JVM التي تريد محرك محاكاة واحدًا مشتركًا بين التطوير المحلي ومجموعة الاختبار الخاصة بهم، بالإضافة إلى التسجيل وإعادة التشغيل. إنه مرخص تحت Apache-2.0.

حدود صريحة: مثل MockServer، يحتاج إلى بيئة تشغيل Java ويبدأ ببطء أكثر من خيارات Node. JSON تعيين التذييل الخاص به قوي ولكنه يتطلب تعلمًا أكثر من محاكاة بيانات بملف واحد. إذا كنت من جانب JavaScript، فإن مقارنة بدائل Mock Service Worker (MSW) تغطي مكانة WireMock مقابل المحاكاة التي تركز على المتصفح.

Apidog CLI

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

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

npm install -g apidog-cli
apidog login --with-token <YOUR_TOKEN>
apidog mock --help

تعمل مجموعة الأوامر mock مع توقعات المحاكاة الخاصة بمشروعك من البرامج النصية (scripts) و CI، جنبًا إلى جنب مع مجموعات الأوامر لنقاط النهاية، والمخططات، والبيئات، وتشغيل الاختبارات. الناتج هو JSON منظم مع حقل agentHints.nextSteps، مما يجعله قابلاً للاستخدام من قبل وكلاء الذكاء الاصطناعي وكذلك البشر. يتم تغطية سطح الأوامر الكامل في دليل Apidog CLI الكامل.

الأفضل لـ: الفرق التي تفضل الاحتفاظ بالمحاكاة، والمواصفات، والاختبارات في مكان واحد بدلاً من تشغيل ثلاث أدوات منفصلة. قم بتنزيل Apidog لتجربة خادم المحاكاة المدمج و CLI على مشروعك الخاص.

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

كيف تختار

طابق الأداة مع ما لديك بالفعل. إذا كان لديك مواصفات OpenAPI، فإن Prism أو Mockoon CLI يخدمانها مباشرة. إذا لم يكن لديك شيء بعد، يبتكر json-server واجهة برمجة تطبيقات من ملف JSON. إذا كنت بحاجة إلى مطابقة دقيقة للطلبات، استخدم MockServer أو WireMock. إذا كنت تريد أن تعيش المحاكاة بجانب تصميمك واختباراتك، استخدم Apidog.

الأداة الأفضل لـ التثبيت مفتوح المصدر؟ ملاحظات
Prism خدمة مواصفات OpenAPI كمحاكاة npx @stoplight/prism-cli نعم (Apache-2.0) دقيق للعقد، عديم الحالة، المنفذ 4010
Mockoon CLI محاكاة مبنية بواجهة رسومية تعمل بدون واجهة npx @mockoon/cli نعم (MIT) يقرأ ملف env أو OpenAPI، صورة Docker
json-server واجهة REST API فورية من JSON npx json-server نعم (MIT) عمليات CRUD حافظة للحالة، لا حاجة لمواصفات، المنفذ 3000
MockServer مطابقة دقيقة للطلبات java -jar mockserver-netty-*.jar نعم (Apache-2.0) JVM، غلاف npm متاح، المنفذ 1080
WireMock تطوير واختبار JVM يشاركان محركًا واحدًا java -jar wiremock-standalone.jar نعم (Apache-2.0) تسجيل وإعادة تشغيل، صورة Docker، المنفذ 8080
Apidog CLI محاكاة ومواصفات واختبارات في مشروع واحد npm install -g apidog-cli لا (طبقة مجانية) محاكاة ذكية تلقائية + توقعات مدارة

القاعدة التقريبية: أدوات npx للسرعة، وخوادم JVM لعمق المطابقة، وApidog عندما تريد سير عمل واحدًا بدلاً من عدة. إذا كنت لا تزال تقرر ما إذا كنت ستقوم بالمحاكاة على الإطلاق، فإن شرح حالات استخدام محاكاة API يغطي متى تكون مجدية.

الخلاصة

تتلخص المحاكاة الخفيفة في سؤال واحد: ما الذي لديك بالفعل لتغذية الأداة؟ المواصفات تذهب إلى Prism أو Mockoon CLI. اللوحة الفارغة تذهب إلى json-server. المطابقة الصارمة تذهب إلى MockServer أو WireMock. وإذا كنت تفضل عدم تشغيل وتوصيل عدة أدوات، فإن Apidog يحتفظ بالمحاكاة بجانب التصميم والاختبارات، ويتم تشغيله من نفس سطر الأوامر الذي ستكتبه في السكريبت على أي حال.

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

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

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