API و تست · ۱۰ دقیقه مطالعه

RESTful API و API Resource

مسیرهای API

در routes/api.php (پیشوند خودکار /api):

use App\Http\Controllers\Api\CourseController;

Route::get('/courses', [CourseController::class, 'index']);
Route::apiResource('courses', CourseController::class);

برگرداندن JSON

public function index() {
    return response()->json(Course::all());
}
public function show(Course $course) {
    return $course;   // خودکار JSON می‌شود
}

API Resource — کنترل خروجی

برای فرستادن فقط فیلدهای لازم (و پنهان‌کردن حساس‌ها):

php artisan make:resource CourseResource
public function toArray($request): array {
    return [
        'id' => $this->id,
        'title' => $this->title,
        'lessons' => $this->lessons->count(),
    ];
}
return CourseResource::collection(Course::all());

وضعیت و خطا

return response()->json($data, 201);        // Created
return response()->json(['error' => '...'], 422);
abort(404, 'یافت نشد');

⚠️ هرگز فیلدهای حساس (رمز، توکن) را در پاسخ API نگذار؛ از Resource برای کنترل دقیق خروجی استفاده کن.

برای ثبت پیشرفت و کسب XP وارد شو.

ورود به میدان
احراز هویت API با Sanctum ←