LiveMock: ابزار موک و پراکسی API برای توسعهدهندگان
خلاصهٔ کاملتر
LiveMock یه ابزار متنباز برای توسعه و تست APIهاست. وقتی داری روی یه پروژه کار میکنی و هنوز بکاند آماده نیست، LiveMock میتونه جوابهای دلخواه رو به جای سرور اصلی برگردونه — و همزمان درخواستها رو لاگ کنه تا بتونی ترافیک رو آنالیز کنی.
مفهوم مرکزی در LiveMock «Expectation» (انتظار) هست. هر Expectation از یه سری Matcher و یه Action تشکیل میشه. Matcher مشخص میکنه کدوم درخواستها باید گرفته بشن — مثلاً بر اساس متد HTTP، مسیر URL، هدرها، query string یا بدنه درخواست. Action هم تعیین میکنه چه اتفاقی بیفته: یا یه پاسخ سفارشی (JSON یا متن) برگردونده میشه، یا درخواست به یه هاست دیگه پراکسی میشه.
چند نمونه از Matcherها که میشه تعریف کرد:
- path START_WITH /book/ — همه درخواستهایی که مسیرشون با /book/ شروع میشه
- query teacher_name CONTAINS tom — درخواستهایی که پارامتر teacher_name در URL دارن و مقدارش شامل "tom" باشه
- param teacher_name IS tom — درخواستهایی که بدنهشون یه JSON با teacher_name برابر "tom" داشته باشه
یکی از قابلیتهای مفیدش لاگگیری درخواستهاست. هر درخواستی که با یه Expectation مطابقت داشته باشه به صورت یه آبجکت JSON ذخیره میشه و در صفحه Request Log نمایش داده میشه. میشه ستونهای سفارشی هم اضافه کرد؛ کافیه مسیر JSON رو مشخص کنی — مثلاً req.method — تا مقدارش در جدول نمایش داده بشه.
از نظر نصب، نسخه دسکتاپ برای ویندوز و مک مستقیماً از صفحه releases دانلود میشه. نسخه وبسرویس هم با Yarn Workspaces مدیریت میشه و بعد از build روی اجرا میشه. ابزار از کتابخونه mockjs برای تولید دادههای موک پشتیبانی میکنه و تغییرات رو بدون نیاز به ریاستارت سرور اعمال میکنه.
نکات کلیدی:
- موک داینامیک بدون ریاستارت سرور
- پشتیبانی از دو نوع Action: پاسخ سفارشی و پراکسی به هاست دیگه
- پنج نوع Matcher: متد، مسیر، هدر، query و پارامتر بدنه
- لاگگیری کامل درخواست و پاسخ با قابلیت افزودن ستون سفارشی
- نسخه دسکتاپ (ویندوز/مک) و نسخه وبسرویس




