مولّد استجابات API وهمية

تعمل في المتصفح المحاكاة

اختر اسم المورد وحقوله لتحصل على استجابات وهمية متسقة لأنماط REST الشائعة — بما في ذلك المغلّفات والبيانات الوصفية للتقسيم إلى صفحات وصيغ الأخطاء (تفاصيل المشكلة وفق RFC 9457).

بيانات اختبار فقط — جميع الأسماء وبيانات الاتصال والمعرّفات والأرقام المولّدة اصطناعية ولا تعود لأشخاص أو حسابات حقيقية.
الخصوصية: تعمل هذه الأداة بالكامل في متصفحك. لا تغادر بياناتك جهازك أبداً.
جارٍ تحميل الأداة…

كيفية استخدام مولّد استجابات API وهمية

  1. أدخل اسم المورد (بصيغة الجمع) والحقول التي تريدها في كل عنصر.
  2. اختر نوع الاستجابة والمغلّف وعدد العناصر.
  3. ولّد الاستجابة؛ ثم انسخ الجسم لمعالجات MSW/Mirage أو نص HTTP الخام لـ WireMock.

مزايا مولّد استجابات API وهمية

  • استجابات القائمة والتفاصيل والإنشاء والتحديث والحذف والقائمة الفارغة وخطأ التحقق وعدم العثور (not found)
  • مغلّفات بسيطة (plain) أو { data, meta } أو JSend أو JSON:API أو HAL
  • عناصر نائبة للحقول تُستنتج من أسمائها أو تُحدَّد صراحةً (price:price:5-500)
  • ترويسات واقعية: Content-Type وDate وETag وLocation وX-Total-Count وX-Request-Id
  • نص HTTP خام لخوادم المحاكاة (stub) والتوثيق؛ ومعرّفات صحيحة أو UUID؛ وقابل للتوليد ببذرة (seed)

مثال على مولّد استجابات API وهمية

قائمة منتجات داخل مغلّف JSON:API

الإدخال:

Resource: products
Fields: name:product, price:price:5-500
Response: list, envelope: JSON:API, items: 2

النتيجة:

HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
X-Total-Count: 47

{ "data": [ { "type": "products", "id": "1", "attributes": { "name": "Coffee Maker", "price": 404.9 }, "links": { "self": "https://api.example.com/v1/products/1" } }, … ], "meta": { "total": 47, "page": 1, "pageSize": 2 }, "links": { … } }

الأسئلة الشائعة حول مولّد استجابات API وهمية

ما أنماط الاستجابات المشمولة؟

القائمة مع البيانات الوصفية للتقسيم إلى صفحات، والتفاصيل، والإنشاء (201 مع Location)، والتحديث، والحذف (204)، والقائمة الفارغة، وخطأ التحقق (422)، وعدم العثور (404) — في مغلّفات بسيطة أو { data, meta } أو JSend أو JSON:API أو HAL.

كيف أعرّف الحقول؟

حقل واحد في كل سطر: name، أو name:tag، أو name:tag:args (price:price:5-500). ومن دون وسم يُستنتج العنصر النائب من اسم الحقل، فتعمل حقول مثل createdAt وemail وisActive مباشرةً.

ماذا تتضمن مخرجات HTTP الخام؟

سطر الحالة، وترويسات واقعية (Content-Type وDate وETag وLocation وX-Total-Count وX-Request-Id)، والجسم — الصقها في خادم محاكاة (stub) أو في تعيين (mapping) لـ WireMock أو في ملف README.

هل يمكنني استخدامها مع MSW أو Mirage؟

نعم. انسخ الجسم إلى المعالج (handler) لديك، أو ولّد مجموعة بيانات كاملة باستخدام مولّد مجموعات بيانات API الوهمية للواجهات الخلفية على نمط json-server.