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 برای کنترل دقیق خروجی استفاده کن.