تصور کن که در یک دنیای بدون اینترنت و اپلیکیشنهای پیچیده زندگی میکنی. دنیایی که در اون برای هر کار کوچیکی باید ساعتها وقت بذاری و هیچ اپلیکیشنی وجود نداره که زندگیت رو آسونتر کنه. حالا بیا برگردیم به زمان حال. امروزه همه چیز دیجیتال و آنلاین هست. از خرید کردن گرفته تا ارتباط با دوستان، همه و همه از طریق اپلیکیشنها و سرویسهای آنلاین انجام میشه. یکی از ابزارهای کلیدی که توسعهدهندگان برای ساخت و تست این اپلیکیشنها استفاده میکنند، Postman هست.
بیا برگردیم به اوایل دهه 2000، اون موقع که برنامهنویسا برای تست APIهاشون باید کلی کد پیچیده مینوشتن و زمان زیادی رو صرف میکردن. این کار هم وقتگیر بود و هم احتمال خطاها رو بالا میبرد. برنامهنویسا نیاز به یه ابزار ساده و کارآمد داشتن که بتونن به راحتی APIهاشون رو تست و دیباگ کنن.
در سال 2012، یه برنامهنویس هندی به اسم Abhinav Asthana تصمیم گرفت این مشکل رو حل کنه. اون یه ابزاری به نام Postman توسعه داد که خیلی زود بین برنامهنویسا محبوب شد. Postman به برنامهنویسا این امکان رو میداد که به راحتی درخواستهای HTTP رو ارسال کنن و پاسخها رو بررسی کنن.
تصور کن Postman وجود نداشت. برنامهنویسا مجبور بودن برای تست هر API، یه اپلیکیشن جداگانه بنویسن. این کار هم زمان زیادی میبرد و هم احتمال خطاها رو بیشتر میکرد. بدون Postman، توسعه و تست APIها به یه کابوس تبدیل میشد و پروژهها ممکن بود با تأخیرهای زیادی روبرو بشن.
حالا که داستان جذاب Postman رو شنیدی، بیا با این ابزار بیشتر آشنا بشیم. Postman یه ابزار قدرتمند برای تست و دیباگ APIهاست که به برنامهنویسا این امکان رو میده تا به راحتی درخواستهای HTTP رو ارسال و پاسخها رو بررسی کنن. این ابزار اول به شکل یه افزونه مرورگر شروع به کار کرد و حالا به یه اپلیکیشن مستقل با قابلیتهای خیلی گسترده تبدیل شده.
Postman بهت این امکان رو میده تا درخواستهای GET، POST، PUT، DELETE و کلی متد دیگه رو ارسال کنی و پاسخهای سرور رو کامل ببینی. این ابزار همچنین کلی قابلیت برای مدیریت و مستندسازی APIها داره.
حالا که تا اینجا اومدی، وقتشه که با ویژگیهای جذاب و کاربردی Postman بیشتر آشنا بشی. این ابزار امکانات خیلی خوبی داره که کار برنامهنویسا رو راحتتر و لذتبخشتر میکنه. بیا با هم یه نگاهی بندازیم به این ویژگیها.
Postman یه رابط کاربری خیلی ساده و دوستداشتنی داره که حتی اگه تازهکار باشی هم میتونی به راحتی باهاش کار کنی. همه چیز سر جای خودش قرار داره و به راحتی میتونی درخواستهای مختلف رو ارسال و پاسخها رو بررسی کنی.
یکی از ویژگیهای خیلی خوب Postman اینه که میتونی درخواستهات رو در قالب مجموعهها یا همون Collections دستهبندی کنی. اینجوری اگه چندین API مختلف داری، میتونی به راحتی اونها رو مدیریت کنی و همیشه دسترسی سریعی بهشون داشته باشی.
با استفاده از ویژگی Environments میتونی متغیرهای مختلفی رو برای درخواستهات تعریف کنی. مثلاً اگه داری روی یه پروژه با چند محیط مختلف (مثل توسعه، تست، تولید) کار میکنی، میتونی به راحتی بین این محیطها سوییچ کنی و متغیرهای مخصوص هر محیط رو استفاده کنی.
Postman این امکان رو بهت میده که برای درخواستهات تستهای خودکار بنویسی. این یعنی میتونی به راحتی مطمئن بشی که APIهات درست کار میکنن و خطایی ندارن. فقط کافیه یه چند خط کد ساده بنویسی و Postman بقیه کارها رو برات انجام میده.
یکی دیگه از ویژگیهای جذاب Postman اینه که میتونی به راحتی APIهات رو مستندسازی کنی. اینجوری هم خودت همیشه میدونی هر API چیکار میکنه و هم اگه بخوای با بقیه اعضای تیم به اشتراک بذاری، کارشون راحتتر میشه.
یکی از امکانات باحال این پلتفرم اینه که میتونی تمام اشیای API خودت رو توی یه مخزن مرکزی ذخیره کنی. اینجوری به راحتی میتونی اونها رو پیدا کنی و با همکارانت به اشتراک بذاری.
Postman یه مجموعه کامل از ابزارها داره که بهت کمک میکنه تا APIهات رو طراحی، توسعه، تست، مستندسازی، شبیهسازی و نظارت کنی. همچنین، میتونی APIهای بقیه رو کشف و مصرف کنی.
Postman بهت این امکان رو میده که فضاهای کاری مختلفی ایجاد کنی. مثلا میتونی فضاهای کاری شخصی، تیمی یا عمومی داشته باشی. اینجوری اگه چند نفر روی یه پروژه کار میکنن، میتونن به راحتی با هم هماهنگ بشن و کارها رو سازماندهی کنن.
با استفاده از Postman میتونی قوانین حاکمیتی برای APIهات تعریف کنی. اینجوری مطمئن میشی که APIهات با استانداردها و شیوههای سازمانی مطابقت دارن و کیفیت و سازگاری بهتری دارن.
Postman قابلیت ادغام با ابزارهای دیگه مثل GitHub، Slack، Jenkins و غیره رو داره. این ادغامها بهت کمک میکنن تا فرآیند توسعه API رو سادهتر و خودکار کنی. همچنین میتونی قابلیتهای Postman رو از طریق APIهای خود Postman و فناوریهای منبعباز گسترش بدی.
حالا که با Postman آشنا شدی، وقتشه که با یه سری از اصطلاحات رایجش هم آشنا بشی. این اصطلاحات بهت کمک میکنن تا بهتر متوجه بشی چطور با این ابزار کار کنی و از همه قابلیتهاش بهره ببری.
API مخفف "رابط برنامهنویسی کاربردی" یا همون Application Programming Interface هست. این رابط نرمافزاری به دو اپلیکیشن اجازه میده تا با هم ارتباط برقرار کنن. APIها توی خیلی از برنامههایی که هر روز استفاده میکنی حضور دارن. مثلا هر بار که از توییتر یا فیسبوک استفاده میکنی، پیامک میفرستی یا وضعیت آبوهوا رو چک میکنی، در واقع داری از API استفاده میکنی.
HTTP یا همون Hypertext Transfer Protocol یه مجموعه قوانینه برای انتقال دادههایی مثل تصاویر، متن، ویدئو، صدا و سایر دادههای چندرسانهای در وب جهانی (World Wide Web). هر وقت که مرورگرت رو باز میکنی و تو اینترنت میچرخی، در واقع داری از HTTP استفاده میکنی.
مثال: کاربر یا مرورگر یه درخواست HTTP به وب سرور میفرسته؛ بعد سرور پاسخ رو به کاربر میده. این پاسخ شامل اطلاعات وضعیت درخواست هست و ممکنه شامل دادههای درخواستی هم باشه.
چند تا از رایجترین متدهای HTTP که بیشترین استفاده رو دارن عبارتند از:
درخواست همون چیزیه که باهاش به سرور میگی چه کاری انجام بده. مثلا وقتی که میخوای از یه API اطلاعات بگیری یا اطلاعاتی رو بفرستی، یه درخواست ارسال میکنی. هر درخواست میتونه شامل متد (مثل GET، POST، PUT، DELETE)، URL، هدرها و بدنه باشه.
پاسخ نتیجهایه که بعد از ارسال درخواست از سرور میگیری. این پاسخ میتونه شامل وضعیت (Status)، هدرها و بدنه باشه. مثلا اگه درخواست GET به یه API ارسال کنی، ممکنه یه پاسخ با وضعیت 200 و بدنهای که شامل دادههای درخواستی هست دریافت کنی.
مجموعهها یا همون Collections بهت کمک میکنن تا درخواستهای مختلف رو دستهبندی کنی. اینجوری اگه چندین درخواست مرتبط با هم داری، میتونی اونها رو توی یه مجموعه قرار بدی و راحتتر مدیریت کنی.
محیطها یا Environments بهت اجازه میدن تا متغیرهای مختلفی برای درخواستهات تعریف کنی. مثلا اگه داری روی چند محیط مختلف (توسعه، تست، تولید) کار میکنی، میتونی متغیرهای مخصوص هر محیط رو تعریف کنی و به راحتی بین اونها جابهجا بشی.
اسکریپتها بهت اجازه میدن تا قبل یا بعد از ارسال درخواست، یه سری کدهای جاوااسکریپت اجرا کنی. مثلا میتونی تستهای خودکار بنویسی یا دادههای پاسخ رو پردازش کنی. این ویژگی خیلی کاربردی و جذابه.
آزمونها یا همون Tests کدهایی هستن که بعد از دریافت پاسخ از سرور اجرا میشن. با استفاده از آزمونها میتونی مطمئن بشی که APIهات درست کار میکنن و دادههای درستی برمیگردونن.
مستندات همون توضیحاتی هستن که درباره APIها مینویسی. Postman بهت اجازه میده که به راحتی مستندات APIهات رو ایجاد و مدیریت کنی. اینجوری هم خودت و هم بقیه اعضای تیم همیشه میدونید هر API چیکار میکنه و چطور باید ازش استفاده کنین.
فضاهای کاری یا Workspaces بهت کمک میکنن تا کارهات رو سازماندهی کنی و با بقیه اعضای تیم همکاری کنی. میتونی فضاهای کاری شخصی، تیمی یا عمومی ایجاد کنی و درخواستها، مجموعهها و مستندات رو با هم به اشتراک بذاری.
"تکنولوژی بهترینه وقتی که مردم رو به هم نزدیکتر میکنه." - مت مولنوگ
هر ابزاری مزایا و معایب خودش رو داره و Postman هم از این قاعده مستثنی نیست. بیا با هم یه نگاهی به مزایا و معایب این ابزار بندازیم.
برای شروع کار با Postman، اول باید نصبش کنیم. خوشبختانه نصب Postman خیلی ساده است و میتونی اون رو روی سیستمعاملهای مختلف نصب کنی.
برای این کار، برو به وبسایت رسمی Postman و نسخه مناسب برای سیستمعامل خودت رو دانلود کن. وقتی دانلود تموم شد، روی فایل دانلود شده کلیک کن تا نصب شروع بشه.
بعد از دانلود، پیامی با عنوان "Your download is in progress" روی صفحه Apps نمایش داده میشه. وقتی دانلود کامل شد، روی "Run" کلیک کن.
کمی صبر کن تا نصب Postman کامل بشه. ممکنه چند دقیقهای طول بکشه.
توی پنجره بعدی، یک حساب Postman ایجاد کن.
نکته: دو روش برای ثبتنام وجود داره؛ میتونی یه حساب Postman بسازی یا از حساب گوگل استفاده کنی. با این که Postman اجازه میده بدون وارد شدن هم از ابزارش استفاده کنی، ولی ثبتنام باعث میشه مجموعههات ذخیره بشن و بعداً بتونی بهشون دسترسی داشته باشی.
ابزارهای فضای کاری که نیاز داری رو انتخاب کن و روی "Save My Preferences" کلیک کن.
تبریک! حالا صفحه شروع Postman رو میبینی و میتونی از این ابزار عالی استفاده کنی.
حالا که Postman رو نصب کردی، بیا اولین درخواست HTTP خودمون رو ارسال کنیم. فرض کن میخوایم یه درخواست GET به یه API بفرستیم. مراحل زیر رو دنبال کن:
بعد از ارسال درخواست، میتونی پاسخ سرور رو توی بخش پایین صفحه ببینی. این پاسخ شامل وضعیت HTTP، هدرها و بدنه پاسخ هست.
یکی از مزایای بزرگ Postman، امکان استفاده از اسکریپتها و تستهای خودکار هست. اینجا چند نمونه کد برای تست APIها با استفاده از Postman آوردیم:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
{
"name": "7Learn",
"description": "Best online learning platform"
}
pm.test("Status code is 201", function () {
pm.response.to.have.status(201);
});
pm.test("Response has ID", function () {
var jsonData = pm.response.json();
pm.expect(jsonData).to.have.property('id');
});
خب، حالا که با Postman آشنا شدی، شاید بخوای بدونی این ابزار در مقایسه با بقیه ابزارهای مشابه چطوره. بیا یه نگاهی بندازیم به چند تا از ابزارهای معروف دیگه و ببینیم Postman چه برتریها و تفاوتهایی با اونا داره.
ابزار | رابط کاربری | قابلیتها | سهولت استفاده | پشتیبانی از تیمها |
Postman | کاربرپسند | پیشرفته | خیلی راحت | ✔️ |
Insomnia | ساده و شیک | خوب | راحت | ✔️ |
SoapUI | پیچیده | خوب | متوسط | ✔️ |
Paw | شیک و حرفهای | خوب | راحت | ❌ |
Postman یک ابزار قدرتمند برای تست و اشکالزدایی APIهاست که به توسعهدهندگان اجازه میدهد تا به راحتی درخواستهای HTTP را ارسال و پاسخها را بررسی کنند.
Postman دارای نسخه رایگان با قابلیتهای محدود است. برای دسترسی به قابلیتهای پیشرفتهتر باید نسخه پولی آن را خریداری کنید.
برای نصب Postman به وبسایت رسمی آن مراجعه کنید و نسخه مناسب برای سیستمعامل خود را دانلود کنید. سپس فایل نصب را اجرا و مراحل نصب را دنبال کنید.
بله، Postman دارای قابلیت تعریف تستهای خودکار برای APIهاست که به توسعهدهندگان کمک میکند تا به راحتی تستهای خود را اجرا و نتایج را بررسی کنند.
بله، Postman به شما اجازه میدهد تا مجموعههای خود را با اعضای تیم به اشتراک بگذارید و همکاری کنید.
خب دوست من، تا اینجا کلی چیز یاد گرفتیم درباره Postman و این که چقدر میتونه تو کارهای روزمره یه برنامهنویس کمککننده باشه. دیدیم که Postman چه تاریخچهای داره، چطور به وجود اومده و چرا اینقدر محبوب شده. از نصب و راهاندازیش گفتیم تا اولین درخواست HTTP و حتی مقایسهش با ابزارهای دیگه.
Postman با رابط کاربری ساده و کاربرپسندش، قابلیتهای پیشرفته مثل مجموعهها، محیطها و تستهای خودکار، پشتیبانی از تیمها و مستندسازی خودکار، یه ابزار بینظیر برای تست و مدیریت APIهاست. البته، مثل هر ابزار دیگهای معایب خودش رو هم داره، مثل مصرف بالای منابع سیستم و وابستگی به اینترنت، ولی مزایای خیلی بیشتری داره که باعث میشه استفاده ازش واقعا لذتبخش باشه.
پس اگه تا حالا از Postman استفاده نکردی، همین الان برو نصبش کن و باهاش کار کن. مطمئنم که خیلی زود عاشقش میشی و دیگه نمیتونی بدون اون به کارهات ادامه بدی. یادت باشه که APIهات رو مستندسازی کنی، تستهای خودکار بنویسی و همیشه مجموعههات رو بهروز نگه داری.