mock server چیست؟ صفر تا صد ایجاد mock api server در postman

فهرست مطالب:1. معرفی mock API server 2. موارد استفاده از mock server3. پیاده سازی mock server در نرم افزار postman 1.3 روش های پیاده سازیmock server در postman 2.3 پیاده سازی و استفاده از mock server در postman از روی collection 4. نکات مهم در رابطه با ماک سرور postman 1.4 نحوه ساخت example 2.4 نحوه دریافت response های مختلف1. معرفی mock API serverبا توجه به تعریف گروه stoplight:A mock API server or mock server API imitates a real API server by providing realistic mock API responses to requests. They can be on your local machine or the public Internet. Responses can be static or dynamic, and simulate the data the real API would return, matching the schema with data types, objects, and arrays.ماک سرور ابزاری است که رفتار واقعی وب سرور را برای درخواست های http, https شبیه سازی می کند و با توجه به request ارسال شده، response متناسب از قبل تعریف شده را بر می گرداند. برای انواع زبان های برنامه نویسی، ماک سرورهای مختلف پیاده سازی شده است که میتوان به صورت لوکال روی سیستم خود یا سرور راه اندازی کرد.در لینک زیر لیست محبوب ترین ابزارهای ساخت ماک سرور بر اساس محبوبیت در github آورده شده است:https://awesomeopensource.com/projects/mock-serverروش دیگر راه اندازی ماک سرور استفاده از نرم افزار postman می باشد. با توجه به 1. سادگی راه اندازی ماک سرور، 2.گستردگی استفاده از این ابزار و 3.وابسته نبودن به زبان برنامه نویسی خاصی برای راه اندازی ماک سرور، روز به روز به تعداد استفاده کنندگاه از postman برای ایجاد mock server اضافه می گردد.2. موارد استفاده از mock serverMock server به استفاده کنندگان از وب سرویس ها (clients) این امکان را می دهد تا در زمانی که سرویس ها آماده نیست یا بصورت کامل develop نشده اند، بتوانند از آن ها استفاده کنند و دچار وقفه (عموما درازمدت) در انجام کار خود نگردند. برای مثال در پیاده سازی یک سیستم نرم افزاری، توسعه دهندگان سمت فرانت اند نیاز دارند که از سرویس های احراز هویت استفاده نمایند در صورتی که ارائه این سرویس ها از سمت بک اند هنوز پیاده سازی نشده است. در این شرایط استفاده از mock server گزینه مناسبی است.زمانی که پیاده سازی سرویس خاصی نیاز به هزینه یا زمان زیادی دارد که مقرون به صرفه نیست تا آن را پیاده کرد. در اینصورت با مطالعه داکیومنت سرویس مورد نظر و اطلاع از ساختار request و response آن، اقدام به پیاده سازی ماک سرور می نماییم. مثلا نیاز است که با سرویس های ادوبی کانکت یا درگاه پرداخت خاصی یا ... کار کنید و در حال حاضر هزینه و امکان پیاده سازی به صورت لوکال را ندارید و از طرف دیگر سرویس های دیگر شما به این سرویس وابسته هستند. در این صورت می توانید با استفاده از mock server این سرویس ها را در دسترس قرار دهید.زمانی که به هر دلیلی سرور اصلی ارائه api از کار افتاد یا client به هر دلیلی به صورت مستقیم نمی خواهد از سرویس اصلی استفاده نماید، می تواند به عنوان سرور تست از ماک سرور استفاده نماید.3. پیاده سازی mock server در نرم افزار postman3.1 روش های پیاده سازیmock server در postmanپیاده سازی توسطscratch (اولیه)در این روش بصورت اولیه mock-server ساخته می شود تا در آینده api ها یا collection api را برای آن تعریف کنیم.پیاده سازی از روی API و request historyدر پیاده سازی به این نحو از request آماده ماک ساخته می شود.پیاده سازی از روی collectionای سبک که پرکاربردترین روش می باشد، mock server از رویcollection موجود ساخته می شود. در ادامه ساخت mock server با این روش را ادامه میدهیم. اگرچه روش ساخت همه موارد بسیار مشابه یکدیگر می باشد اما جهت اطلاع از جزییات هر کدام می توانید به لینک زیر مراجعه نمایید.https://learning.postman.com/docs/designing-and-developing-your-api/mocking-data/setting-up-mock3.2 پیاده سازی و استفاده از mock server در postman از روی collection1. ابتدا پوشه کالکشن خود را انتخاب کنید و گزینه create new mock server را انتخاب کنید (مطابق با تصویر زیر) همچنین می توانید از سایدبار سمت چپ گزینه Mock Servers را انتخاب کنید و در زمان ایجاد ماک سرور کالکشن خود را انتخاب نمایید.2. در قسمت بعد تنظیمات کلی ماک سرور را انجام می دهیم که در تصویر زیر تمامی موارد مشخص شده است. در صورتی که مایل به private کردن ماک سرور هستید تا رکوئست های مشخصی به آن درخواست دهند، می توانید گزینه Make mock server private را انتخاب کنید. در اینصورت فقط http request هایی که هدر x-api-key را دارند معتبر هستند.3. در قسمت بعد اطلاعات mock server جدید را نمایش می دهد که به معنی موفقیت آمیز بودن ایجاد mock server می باشد.4. حال کافی است که mock server url را با base url خود جایگزین کنید تا تمامی request های شما به ماک سرور postman فرستاده شود و response خود را با توجه به example هایی که برای هر api ایجاد کرده ایم، دریافت نماییم.5. برای مانیتور کردن رکوئست های زده شده به ماک سرور هم می توانید از قسمت mock-server->monitor استفاده کنید تا جزییات و روند کار ماک سرور را مشاهده نمایید. 4. نکات مهم در رابطه با ماک سرور postman1.4 نحوه ساخت exampleبرای ساخت example برای api ها، از قسمت بالا سمت راست گزینه add example را انتخاب میکنیم و example خود را ایجاد میکنیم (مطابق با تصاویر زیر)2.4 نحوه دریافت response های مختلفدر صورتی که example های مختلف برای api تعریف کرده اید، برای مثال در صورتی که status code 200 بود چه ریسپانسی برگردد یا زمانی که 422 و ... (که بهتر است اینکار را انجام دهید) و در زمان صدا زدن api نیاز داشتید که ریسپانس مدنظر را دریافت کنید، می توانید از x-mock-response-code در هدر رکوئست خود استفاده کنید که مقدار ان برابر با status code هر response مورد نظر می باشد.