در لاراول، مسیرهای مربوط به API در فایلی جداگانه به نام routes/api.php تعریف میشوند. این فایل به صورت پیشفرض در پروژه لاراول موجود است و برای تعریف رابطهای برنامهنویسی کاربردی (API) استفاده میشود.
✅ فصل ۱: تفاوت مسیرهای API و Web در لاراول
| ویژگی | Web Routes (web.php) | API Routes (api.php) |
|---|---|---|
| دارای سشن و کوکی | بله | خیر |
| محافظتشده با Middleware وب | بله | خیر، فقط API |
| مناسب برای | صفحات HTML، فرمها | اپلیکیشنهای موبایل، SPA، سرویسهای خارجی |
| Prefix پیشفرض | ندارد | /api |
✅ فصل ۲: مسیرهای API در فایل api.php
این فایل در مسیر زیر قرار دارد:
مثال ساده:
وقتی این API را اجرا کنید:
خروجی:
✅ فصل ۳: مسیرهای RESTful برای کنترلرها
اگر یک کنترلر دارید مانند UserController، میتوانید مسیرهای مختلف RESTful را تعریف کنید:
✅ فصل ۴: گروهبندی مسیرهای API
🔹 گروهبندی با Middleware:
🔹 گروهبندی با Prefix و Namespace:
✅ فصل ۵: استفاده از Route::apiResource
برای ساخت سریع مسیرهای API مبتنی بر REST، میتوان از apiResource استفاده کرد:
این خط معادل با نوشتن تمام عملیات CRUD است:
-
GET /api/posts→ index -
GET /api/posts/{id}→ show -
POST /api/posts→ store -
PUT/PATCH /api/posts/{id}→ update -
DELETE /api/posts/{id}→ destroy
✅ فصل ۶: تست API با Postman یا curl
curl:
Postman:
-
روش: GET
-
آدرس:
http://localhost:8000/api/users -
Headers:
Accept: application/json
✅ فصل ۷: اعمال Middleware برای احراز هویت
اگر از Passport یا Sanctum استفاده میکنید، مسیرها را میتوان با middleware auth:api یا auth:sanctum محافظت کرد:
✅ نتیجهگیری
مسیرهای API در لاراول ساده، ساختارمند و قابل توسعه هستند. با استفاده از routes/api.php، میتوانید:
-
APIهای RESTful بسازید
-
مسیرها را گروهبندی و مدیریت کنید
-
آنها را با middleware امنسازی کنید
اگر خواستی یه نمونه پروژه API کامل هم برات طراحی میکنم. فقط بگو برای چی باشه (مثلاً مدیریت فروشگاه یا بلاگ).