تصور کن که در یک دنیای بدون اینترنت و اپلیکیشنهای پیچیده زندگی میکنی. دنیایی که در اون برای هر کار کوچیکی باید ساعتها وقت بذاری و هیچ اپلیکیشنی وجود نداره که زندگیت رو آسونتر کنه. حالا بیا برگردیم به زمان حال. امروزه همه چیز دیجیتال و آنلاین هست. از خرید کردن گرفته تا ارتباط با دوستان، همه و همه از طریق اپلیکیشنها و سرویسهای آنلاین انجام میشه. یکی از ابزارهای کلیدی که توسعهدهندگان برای ساخت و تست این اپلیکیشنها استفاده میکنند، Postman هست.
داستان پیدایش Postman
بیا برگردیم به اوایل دهه 2000، اون موقع که برنامهنویسا برای تست APIهاشون باید کلی کد پیچیده مینوشتن و زمان زیادی رو صرف میکردن. این کار هم وقتگیر بود و هم احتمال خطاها رو بالا میبرد. برنامهنویسا نیاز به یه ابزار ساده و کارآمد داشتن که بتونن به راحتی APIهاشون رو تست و دیباگ کنن.
در سال 2012، یه برنامهنویس هندی به اسم Abhinav Asthana تصمیم گرفت این مشکل رو حل کنه. اون یه ابزاری به نام Postman توسعه داد که خیلی زود بین برنامهنویسا محبوب شد. Postman به برنامهنویسا این امکان رو میداد که به راحتی درخواستهای HTTP رو ارسال کنن و پاسخها رو بررسی کنن.
زندگی بدون Postman: کابوس توسعهدهندگان
تصور کن Postman وجود نداشت. برنامهنویسا مجبور بودن برای تست هر API، یه اپلیکیشن جداگانه بنویسن. این کار هم زمان زیادی میبرد و هم احتمال خطاها رو بیشتر میکرد. بدون Postman، توسعه و تست APIها به یه کابوس تبدیل میشد و پروژهها ممکن بود با تأخیرهای زیادی روبرو بشن.
Postman چیست؟
حالا که داستان جذاب Postman رو شنیدی، بیا با این ابزار بیشتر آشنا بشیم. Postman یه ابزار قدرتمند برای تست و دیباگ APIهاست که به برنامهنویسا این امکان رو میده تا به راحتی درخواستهای HTTP رو ارسال و پاسخها رو بررسی کنن. این ابزار اول به شکل یه افزونه مرورگر شروع به کار کرد و حالا به یه اپلیکیشن مستقل با قابلیتهای خیلی گسترده تبدیل شده.
Postman بهت این امکان رو میده تا درخواستهای GET، POST، PUT، DELETE و کلی متد دیگه رو ارسال کنی و پاسخهای سرور رو کامل ببینی. این ابزار همچنین کلی قابلیت برای مدیریت و مستندسازی APIها داره.
ویژگیهای Postman
حالا که تا اینجا اومدی، وقتشه که با ویژگیهای جذاب و کاربردی Postman بیشتر آشنا بشی. این ابزار امکانات خیلی خوبی داره که کار برنامهنویسا رو راحتتر و لذتبخشتر میکنه. بیا با هم یه نگاهی بندازیم به این ویژگیها.
رابط کاربری ساده و کاربرپسند
Postman یه رابط کاربری خیلی ساده و دوستداشتنی داره که حتی اگه تازهکار باشی هم میتونی به راحتی باهاش کار کنی. همه چیز سر جای خودش قرار داره و به راحتی میتونی درخواستهای مختلف رو ارسال و پاسخها رو بررسی کنی.
مدیریت مجموعهها (Collections)
یکی از ویژگیهای خیلی خوب Postman اینه که میتونی درخواستهات رو در قالب مجموعهها یا همون Collections دستهبندی کنی. اینجوری اگه چندین API مختلف داری، میتونی به راحتی اونها رو مدیریت کنی و همیشه دسترسی سریعی بهشون داشته باشی.
محیطها (Environments)
با استفاده از ویژگی Environments میتونی متغیرهای مختلفی رو برای درخواستهات تعریف کنی. مثلاً اگه داری روی یه پروژه با چند محیط مختلف (مثل توسعه، تست، تولید) کار میکنی، میتونی به راحتی بین این محیطها سوییچ کنی و متغیرهای مخصوص هر محیط رو استفاده کنی.
تستهای خودکار (Automated Tests)
Postman این امکان رو بهت میده که برای درخواستهات تستهای خودکار بنویسی. این یعنی میتونی به راحتی مطمئن بشی که APIهات درست کار میکنن و خطایی ندارن. فقط کافیه یه چند خط کد ساده بنویسی و Postman بقیه کارها رو برات انجام میده.
مستندسازی APIها
یکی دیگه از ویژگیهای جذاب Postman اینه که میتونی به راحتی APIهات رو مستندسازی کنی. اینجوری هم خودت همیشه میدونی هر API چیکار میکنه و هم اگه بخوای با بقیه اعضای تیم به اشتراک بذاری، کارشون راحتتر میشه.
مخزن API (API Repository)
یکی از امکانات باحال این پلتفرم اینه که میتونی تمام اشیای API خودت رو توی یه مخزن مرکزی ذخیره کنی. اینجوری به راحتی میتونی اونها رو پیدا کنی و با همکارانت به اشتراک بذاری.
ابزارهای API (API Tools)
Postman یه مجموعه کامل از ابزارها داره که بهت کمک میکنه تا APIهات رو طراحی، توسعه، تست، مستندسازی، شبیهسازی و نظارت کنی. همچنین، میتونی APIهای بقیه رو کشف و مصرف کنی.
فضاهای کاری (Workspaces)
Postman بهت این امکان رو میده که فضاهای کاری مختلفی ایجاد کنی. مثلا میتونی فضاهای کاری شخصی، تیمی یا عمومی داشته باشی. اینجوری اگه چند نفر روی یه پروژه کار میکنن، میتونن به راحتی با هم هماهنگ بشن و کارها رو سازماندهی کنن.
قوانین حاکمیت (Governance Rules)
با استفاده از Postman میتونی قوانین حاکمیتی برای APIهات تعریف کنی. اینجوری مطمئن میشی که APIهات با استانداردها و شیوههای سازمانی مطابقت دارن و کیفیت و سازگاری بهتری دارن.
ادغامها (Integrations)
Postman قابلیت ادغام با ابزارهای دیگه مثل GitHub، Slack، Jenkins و غیره رو داره. این ادغامها بهت کمک میکنن تا فرآیند توسعه API رو سادهتر و خودکار کنی. همچنین میتونی قابلیتهای Postman رو از طریق APIهای خود Postman و فناوریهای منبعباز گسترش بدی.
اصطلاحات رایج Postman
حالا که با Postman آشنا شدی، وقتشه که با یه سری از اصطلاحات رایجش هم آشنا بشی. این اصطلاحات بهت کمک میکنن تا بهتر متوجه بشی چطور با این ابزار کار کنی و از همه قابلیتهاش بهره ببری.
API
API مخفف "رابط برنامهنویسی کاربردی" یا همون Application Programming Interface هست. این رابط نرمافزاری به دو اپلیکیشن اجازه میده تا با هم ارتباط برقرار کنن. APIها توی خیلی از برنامههایی که هر روز استفاده میکنی حضور دارن. مثلا هر بار که از توییتر یا فیسبوک استفاده میکنی، پیامک میفرستی یا وضعیت آبوهوا رو چک میکنی، در واقع داری از API استفاده میکنی.
HTTP
HTTP یا همون Hypertext Transfer Protocol یه مجموعه قوانینه برای انتقال دادههایی مثل تصاویر، متن، ویدئو، صدا و سایر دادههای چندرسانهای در وب جهانی (World Wide Web). هر وقت که مرورگرت رو باز میکنی و تو اینترنت میچرخی، در واقع داری از HTTP استفاده میکنی.
مثال: کاربر یا مرورگر یه درخواست HTTP به وب سرور میفرسته؛ بعد سرور پاسخ رو به کاربر میده. این پاسخ شامل اطلاعات وضعیت درخواست هست و ممکنه شامل دادههای درخواستی هم باشه.
متدهای رایج HTTP
چند تا از رایجترین متدهای HTTP که بیشترین استفاده رو دارن عبارتند از:
GET: برای گرفتن اطلاعات از سرور.
POST: برای ارسال داده به سرور.
PUT: برای بهروزرسانی اطلاعات روی سرور.
PATCH: برای بهروزرسانی قسمتی از اطلاعات روی سرور.
HEAD: برای گرفتن اطلاعات هدر از سرور بدون بدنه.
DELETE: برای حذف اطلاعات از سرور.
OPTIONS: برای گرفتن اطلاعات در مورد متدهای HTTP که سرور پشتیبانی میکنه.
درخواست (Request)
درخواست همون چیزیه که باهاش به سرور میگی چه کاری انجام بده. مثلا وقتی که میخوای از یه API اطلاعات بگیری یا اطلاعاتی رو بفرستی، یه درخواست ارسال میکنی. هر درخواست میتونه شامل متد (مثل GET، POST، PUT، DELETE)، URL، هدرها و بدنه باشه.
پاسخ (Response)
پاسخ نتیجهایه که بعد از ارسال درخواست از سرور میگیری. این پاسخ میتونه شامل وضعیت (Status)، هدرها و بدنه باشه. مثلا اگه درخواست GET به یه API ارسال کنی، ممکنه یه پاسخ با وضعیت 200 و بدنهای که شامل دادههای درخواستی هست دریافت کنی.
مجموعه (Collection)
مجموعهها یا همون Collections بهت کمک میکنن تا درخواستهای مختلف رو دستهبندی کنی. اینجوری اگه چندین درخواست مرتبط با هم داری، میتونی اونها رو توی یه مجموعه قرار بدی و راحتتر مدیریت کنی.
محیط (Environment)
محیطها یا Environments بهت اجازه میدن تا متغیرهای مختلفی برای درخواستهات تعریف کنی. مثلا اگه داری روی چند محیط مختلف (توسعه، تست، تولید) کار میکنی، میتونی متغیرهای مخصوص هر محیط رو تعریف کنی و به راحتی بین اونها جابهجا بشی.
اسکریپت (Script)
اسکریپتها بهت اجازه میدن تا قبل یا بعد از ارسال درخواست، یه سری کدهای جاوااسکریپت اجرا کنی. مثلا میتونی تستهای خودکار بنویسی یا دادههای پاسخ رو پردازش کنی. این ویژگی خیلی کاربردی و جذابه.
آزمون (Test)
آزمونها یا همون Tests کدهایی هستن که بعد از دریافت پاسخ از سرور اجرا میشن. با استفاده از آزمونها میتونی مطمئن بشی که APIهات درست کار میکنن و دادههای درستی برمیگردونن.
مستندات (Documentation)
مستندات همون توضیحاتی هستن که درباره APIها مینویسی. Postman بهت اجازه میده که به راحتی مستندات APIهات رو ایجاد و مدیریت کنی. اینجوری هم خودت و هم بقیه اعضای تیم همیشه میدونید هر API چیکار میکنه و چطور باید ازش استفاده کنین.
فضای کاری (Workspace)
فضاهای کاری یا Workspaces بهت کمک میکنن تا کارهات رو سازماندهی کنی و با بقیه اعضای تیم همکاری کنی. میتونی فضاهای کاری شخصی، تیمی یا عمومی ایجاد کنی و درخواستها، مجموعهها و مستندات رو با هم به اشتراک بذاری.
"تکنولوژی بهترینه وقتی که مردم رو به هم نزدیکتر میکنه." - مت مولنوگ
مزایا و معایب Postman
هر ابزاری مزایا و معایب خودش رو داره و Postman هم از این قاعده مستثنی نیست. بیا با هم یه نگاهی به مزایا و معایب این ابزار بندازیم.
مزایا
رابط کاربری کاربرپسند: Postman یه رابط کاربری خیلی ساده و دوستداشتنی داره که کار باهاش رو خیلی راحت میکنه.
قابلیتهای پیشرفته: این ابزار امکانات پیشرفتهای مثل مجموعهها، محیطها و تستهای خودکار داره که خیلی به کار میاد.
پشتیبانی از تیمها: میتونی مجموعههات رو با اعضای تیم به اشتراک بذاری و با هم همکاری کنین.
مستندسازی خودکار: با Postman میتونی به راحتی APIهات رو مستندسازی کنی و همه چیز رو مرتب و منظم نگه داری.
معایب
استفاده زیاد از منابع سیستم: Postman به خاطر قابلیتهای زیادش ممکنه منابع زیادی از سیستمت رو مصرف کنه.
وابستگی به اینترنت: برای استفاده از برخی ویژگیهای Postman باید به اینترنت وصل باشی.
نسخه رایگان محدود: نسخه رایگان Postman یه سری محدودیتها داره و برای دسترسی به امکانات پیشرفتهتر باید نسخه پولی رو بگیری.
نصب و راهاندازی Postman
برای شروع کار با Postman، اول باید نصبش کنیم. خوشبختانه نصب Postman خیلی ساده است و میتونی اون رو روی سیستمعاملهای مختلف نصب کنی.
مرحله 1: دانلود Postman
برای این کار، برو به وبسایت رسمی Postman و نسخه مناسب برای سیستمعامل خودت رو دانلود کن. وقتی دانلود تموم شد، روی فایل دانلود شده کلیک کن تا نصب شروع بشه.
مرحله 2: اجرای فایل نصب
بعد از دانلود، پیامی با عنوان "Your download is in progress" روی صفحه Apps نمایش داده میشه. وقتی دانلود کامل شد، روی "Run" کلیک کن.
مرحله 3: شروع نصب Postman
کمی صبر کن تا نصب Postman کامل بشه. ممکنه چند دقیقهای طول بکشه.
مرحله 4: ثبتنام برای حساب Postman
توی پنجره بعدی، یک حساب Postman ایجاد کن.
نکته: دو روش برای ثبتنام وجود داره؛ میتونی یه حساب Postman بسازی یا از حساب گوگل استفاده کنی. با این که Postman اجازه میده بدون وارد شدن هم از ابزارش استفاده کنی، ولی ثبتنام باعث میشه مجموعههات ذخیره بشن و بعداً بتونی بهشون دسترسی داشته باشی.
مرحله 5: ذخیره تنظیمات
ابزارهای فضای کاری که نیاز داری رو انتخاب کن و روی "Save My Preferences" کلیک کن.
تبریک! حالا صفحه شروع Postman رو میبینی و میتونی از این ابزار عالی استفاده کنی.
اولین درخواست HTTP با Postman
حالا که Postman رو نصب کردی، بیا اولین درخواست HTTP خودمون رو ارسال کنیم. فرض کن میخوایم یه درخواست GET به یه API بفرستیم. مراحل زیر رو دنبال کن:
ایجاد درخواست جدید: اول روی دکمه "New" کلیک کن و "Request" رو انتخاب کن.
وارد کردن URL: تو قسمت URL، آدرس API مورد نظر رو وارد کن. مثلاً: https://api.example.com/data.
انتخاب متد HTTP: متد HTTP مورد نظرت رو انتخاب کن (مثلاً GET).
ارسال درخواست: روی دکمه "Send" کلیک کن.
بعد از ارسال درخواست، میتونی پاسخ سرور رو توی بخش پایین صفحه ببینی. این پاسخ شامل وضعیت HTTP، هدرها و بدنه پاسخ هست.
نمونه کدهای کاربردی با Postman
یکی از مزایای بزرگ Postman، امکان استفاده از اسکریپتها و تستهای خودکار هست. اینجا چند نمونه کد برای تست APIها با استفاده از Postman آوردیم:
ارسال درخواست GET و بررسی پاسخ
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);
});
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 چه برتریها و تفاوتهایی با اونا داره.
ابزار
رابط کاربری
قابلیتها
سهولت استفاده
پشتیبانی از تیمها
Postman
کاربرپسند
پیشرفته
خیلی راحت
✔️
Insomnia
ساده و شیک
خوب
راحت
✔️
SoapUI
پیچیده
خوب
متوسط
✔️
Paw
شیک و حرفهای
خوب
راحت
❌
سوالات متداول
Postman چیست؟
Postman یک ابزار قدرتمند برای تست و اشکالزدایی APIهاست که به توسعهدهندگان اجازه میدهد تا به راحتی درخواستهای HTTP را ارسال و پاسخها را بررسی کنند.
آیا Postman رایگان است؟
Postman دارای نسخه رایگان با قابلیتهای محدود است. برای دسترسی به قابلیتهای پیشرفتهتر باید نسخه پولی آن را خریداری کنید.
چگونه میتوانم Postman را نصب کنم؟
برای نصب Postman به وبسایت رسمی آن مراجعه کنید و نسخه مناسب برای سیستمعامل خود را دانلود کنید. سپس فایل نصب را اجرا و مراحل نصب را دنبال کنید.
آیا Postman از تستهای خودکار پشتیبانی میکند؟
بله، Postman دارای قابلیت تعریف تستهای خودکار برای APIهاست که به توسعهدهندگان کمک میکند تا به راحتی تستهای خود را اجرا و نتایج را بررسی کنند.
آیا میتوانم مجموعههای Postman را با دیگران به اشتراک بگذارم؟
بله، Postman به شما اجازه میدهد تا مجموعههای خود را با اعضای تیم به اشتراک بگذارید و همکاری کنید.
جمعبندی
خب دوست من، تا اینجا کلی چیز یاد گرفتیم درباره Postman و این که چقدر میتونه تو کارهای روزمره یه برنامهنویس کمککننده باشه. دیدیم که Postman چه تاریخچهای داره، چطور به وجود اومده و چرا اینقدر محبوب شده. از نصب و راهاندازیش گفتیم تا اولین درخواست HTTP و حتی مقایسهش با ابزارهای دیگه.
Postman با رابط کاربری ساده و کاربرپسندش، قابلیتهای پیشرفته مثل مجموعهها، محیطها و تستهای خودکار، پشتیبانی از تیمها و مستندسازی خودکار، یه ابزار بینظیر برای تست و مدیریت APIهاست. البته، مثل هر ابزار دیگهای معایب خودش رو هم داره، مثل مصرف بالای منابع سیستم و وابستگی به اینترنت، ولی مزایای خیلی بیشتری داره که باعث میشه استفاده ازش واقعا لذتبخش باشه.
پس اگه تا حالا از Postman استفاده نکردی، همین الان برو نصبش کن و باهاش کار کن. مطمئنم که خیلی زود عاشقش میشی و دیگه نمیتونی بدون اون به کارهات ادامه بدی. یادت باشه که APIهات رو مستندسازی کنی، تستهای خودکار بنویسی و همیشه مجموعههات رو بهروز نگه داری.