.jpg)
API چیست؟ همهچیز درباره API به زبان خیلی ساده + مثال کاربردی
سلام به تو دوست برنامهنویس یا برنامهنویس آینده! 🤝 احتمالاً اسم API رو زیاد شنیدی. شاید توی یه آموزش یوتوب، یه داکیومنت، یا وقتی داشتی یه پروژه جدید راه مینداختی. اما واقعاً API یعنی چی؟ بذار خیلی خودمونی برات بگم... اگه نرمافزارها آدم بودن، **API همون زبونی بود که باهاش با هم حرف میزدن!** --- ## API چیه واقعاً؟ 📡 API مخفف **Application Programming Interface** هست. یعنی "رابط برنامهنویسی کاربردی". ترجمه فارسیش شاید یکم سنگین باشه ولی اگه سادهش کنیم، API یعنی: > راهی برای اینکه یه برنامه یا سرویس بتونه با یه برنامه یا سرویس دیگه ارتباط برقرار کنه. --- ## مثال ساده: API در رستوران 🍽️ فرض کن رفتی رستوران. تو میخوای غذا سفارش بدی، ولی نمیری مستقیم توی آشپزخونه، درسته؟ یه **گارسون** هست که سفارشتو میگیره، میبره به آشپز، بعد غذا رو برات میاره. حالا: - تو = اپلیکیشن یا کاربر - گارسون = API - آشپزخونه = سرور یا سیستم اصلی API مثل همون گارسونه که درخواستت رو میبره به سیستم، پاسخ رو میگیره و برمیگردونه. --- ## API چه کاربردی داره؟ 🤔 - دریافت اطلاعات (مثلاً از سرور هواشناسی، دیتای کاربر، محصول و...) - ارسال اطلاعات (فرم ثبتنام، ورود، پست گذاشتن) - ارتباط بین سرویسها (مثلاً اتصال اپ موبایل به دیتابیس) - استفاده از امکانات بقیه سیستمها (مثل استفاده از نقشه گوگل توی سایتت) --- ## یه مثال واقعی از API 📱 فرض کن یه اپلیکیشن داری که وضعیت آبوهوا رو نشون میده. وقتی کاربر شهر مورد نظرشو انتخاب میکنه، اپلیکیشن درخواست میفرسته به یه API مثل OpenWeatherMap: ```http GET https://api.openweathermap.org/data/2.5/weather?q=Tehran&appid=YOUR_API_KEY ``` سرور یه پاسخ JSON میفرسته: ```json { "weather": [ { "main": "Clear", "description": "clear sky" } ], "main": { "temp": 302.15 }, "name": "Tehran" } ``` اپلیکیشن از این دیتا استفاده میکنه و نشون میده: ☀️ هوای تهران آفتابی است – ۲۹ درجه --- ## API از چی تشکیل شده؟ 🧱 یک API معمولاً شامل این بخشهاست: 1. **Endpoint**: آدرس URL خاصی که درخواست بهش فرستاده میشه. 2. **Method**: نوع درخواست (GET, POST, PUT, DELETE) 3. **Headers**: اطلاعات اضافی مثل نوع محتوا یا API Key 4. **Body (بدنه)**: اطلاعاتی که همراه درخواست ارسال میشن (مثلاً فرم ثبتنام) 5. **Response**: دادههایی که از سرور برمیگردن (معمولاً در قالب JSON) --- ## متدهای رایج در API 🌐 - `GET` → گرفتن اطلاعات (مثلاً لیست محصولات) - `POST` → فرستادن اطلاعات جدید (مثلاً ساخت کاربر جدید) - `PUT` → ویرایش اطلاعات موجود - `DELETE` → حذف اطلاعات --- ## REST API چیست؟ 🌍 REST مخفف Representational State Transfer هست. یک سبک طراحی برای API که با استفاده از HTTP کار میکنه. ویژگیهای REST API: - هر URL نماینده یک منبع (resource) هست - از متدهای HTTP (مثل GET و POST) استفاده میکنه - بدون وضعیت (stateless) هست - خروجی معمولاً JSON هست مثال ساده: ```http GET https://api.example.com/users → لیست کاربران GET https://api.example.com/users/3 → کاربر با آیدی 3 POST https://api.example.com/users → ساخت کاربر جدید ``` --- ## چطوری به یک API وصل بشیم؟ (مثال با جاوااسکریپت) ```js fetch("https://api.example.com/users") .then(response => response.json()) .then(data => console.log(data)); ``` اینجا ما از API درخواست میزنیم، دیتای JSON رو میگیریم، و توی کنسول چاپ میکنیم. --- ## تفاوت API و REST API - **API** کلیتره، یعنی هر راه ارتباطی بین نرمافزارها (حتی لوکال) - **REST API** یه نوع خاص از API هست که از HTTP و اصول REST استفاده میکنه --- ## نتیجهگیری 🧠 - API یه راه ارتباطی بین نرمافزارهاست - REST API رایجترین نوع API توی برنامهنویسی مدرنه - با API میتونی از دادهها یا امکانات بقیه سیستمها استفاده کنی - اگه برنامهنویسی میکنی، فهم API واجبه! --- امیدوارم لذت برده باشی ! هر پیشنهادی داشتی، توی کامنتها بنویس یا برام بفرست! 💬