Dev to webs {Coding…}

ร บทเรียนฟรีด้านการพัฒนาซอฟต์แวร์ ที่ครอบคลุมเนื้อหาหลากหลาย ตั้งแต่การเขียนโค้ดพื้นฐานไปจนถึงเทคนิคขั้นสูง

บทที่ 2: การใช้งาน Route API

🔹 เกริ่นนำ

Laravel แยกการกำหนด Route สำหรับ API ออกจากเว็บโดยเฉพาะไว้ที่ routes/api.php ซึ่งช่วยให้การจัดการ route สำหรับ API เป็นระเบียบมากขึ้น และ Laravel ยังตั้งค่า middleware api ให้โดยอัตโนมัติเพื่อรองรับลักษณะเฉพาะของ API เช่น การไม่ใช้ session, cookie และ CSRF

บทนี้จะอธิบายการใช้งาน API Route ทั้งแบบทั่วไป, แบบ resource และการจัดกลุ่ม route (Route Group) เพื่อความยืดหยุ่นในการจัดการเวอร์ชันและ middleware

🔸 ไฟล์ routes/api.php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\UserController;

Route::get('/users', [UserController::class, 'index']);
Route::get('/users/{id}', [UserController::class, 'show']);

🔸 การใช้งาน Route Resource สำหรับ CRUD

Route::apiResource('posts', App\Http\Controllers\Api\PostController::class);

จะสร้าง route ทั้งหมดตามมาตรฐาน REST: index, store, show, update, destroy

🔸 การจัดกลุ่ม Route (API Versioning)

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

🔸 การกำหนด Middleware เฉพาะ

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

💡 API Route ไม่มี web middleware เช่น session และ CSRF โดย default ทำให้เหมาะกับ RESTful โดยแท้จริง