مارک پلاس

تکنولوژی نوین اینترنتی

ایجاد مسیرهای API در لاراول

دسته‌بندی‌ها

ایجاد مسیرهای API در لاراول
مسیرهای API در لاراول

در لاراول، مسیرهای مربوط به API در فایلی جداگانه به نام routes/api.php تعریف می‌شوند. این فایل به صورت پیش‌فرض در پروژه لاراول موجود است و برای تعریف رابط‌های برنامه‌نویسی کاربردی (API) استفاده می‌شود.


✅ فصل ۱: تفاوت مسیرهای API و Web در لاراول

ویژگیWeb Routes (web.php)API Routes (api.php)
دارای سشن و کوکیبلهخیر
محافظت‌شده با Middleware وببلهخیر، فقط API
مناسب برایصفحات HTML، فرم‌هااپلیکیشن‌های موبایل، SPA، سرویس‌های خارجی
Prefix پیش‌فرضندارد/api

✅ فصل ۲: مسیرهای API در فایل api.php

این فایل در مسیر زیر قرار دارد:

bash
routes/api.php

مثال ساده:

php
use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; Route::get('/users', function () { return ['Ali', 'Sara', 'Mehdi']; });

وقتی این API را اجرا کنید:

nginx
GET http://your-domain.com/api/users

خروجی:

json
["Ali", "Sara", "Mehdi"]

✅ فصل ۳: مسیرهای RESTful برای کنترلرها

اگر یک کنترلر دارید مانند UserController، می‌توانید مسیرهای مختلف RESTful را تعریف کنید:

php
Route::get('/users', [UserController::class, 'index']); // لیست همه کاربران Route::post('/users', [UserController::class, 'store']); // افزودن کاربر جدید Route::get('/users/{id}', [UserController::class, 'show']); // نمایش یک کاربر خاص Route::put('/users/{id}', [UserController::class, 'update']); // به‌روزرسانی کاربر Route::delete('/users/{id}', [UserController::class, 'destroy']); // حذف کاربر

✅ فصل ۴: گروه‌بندی مسیرهای API

🔹 گروه‌بندی با Middleware:

php
Route::middleware('auth:sanctum')->group(function () { Route::get('/profile', [UserController::class, 'profile']); });

🔹 گروه‌بندی با Prefix و Namespace:

php
Route::prefix('v1')->group(function () { Route::get('/products', [ProductController::class, 'index']); });

✅ فصل ۵: استفاده از Route::apiResource

برای ساخت سریع مسیرهای API مبتنی بر REST، می‌توان از apiResource استفاده کرد:

php
Route::apiResource('posts', PostController::class);

این خط معادل با نوشتن تمام عملیات 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:

bash
curl http://localhost:8000/api/users

Postman:

  • روش: GET

  • آدرس: http://localhost:8000/api/users

  • Headers:
    Accept: application/json


✅ فصل ۷: اعمال Middleware برای احراز هویت

اگر از Passport یا Sanctum استفاده می‌کنید، مسیرها را می‌توان با middleware auth:api یا auth:sanctum محافظت کرد:

php
Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); });

✅ نتیجه‌گیری

مسیرهای API در لاراول ساده، ساختارمند و قابل توسعه هستند. با استفاده از routes/api.php، می‌توانید:

  • APIهای RESTful بسازید

  • مسیرها را گروه‌بندی و مدیریت کنید

  • آن‌ها را با middleware امن‌سازی کنید

اگر خواستی یه نمونه پروژه API کامل هم برات طراحی می‌کنم. فقط بگو برای چی باشه (مثلاً مدیریت فروشگاه یا بلاگ).

محتوای مرتبط

پست‌های مرتبط