Development

สร้าง REST API ด้วย Laravel 11: คู่มือนักพัฒนา SME ปี 2026

เรียนรู้การสร้าง REST API ด้วย Laravel 11 ตั้งแต่ติดตั้งโปรเจค ออกแบบ CRUD Endpoint ไปจนถึงการเพิ่ม Authentication ด้วย Sanctum พร้อมตัวอย่างโค้ดจริงและ Best Practice สำหรับนักพัฒนา SME

AF
ADS FIT Team
·8 นาที
Share:
สร้าง REST API ด้วย Laravel 11: คู่มือนักพัฒนา SME ปี 2026

Laravel 11 REST API: ทำไมธุรกิจถึงต้องการ API ที่แข็งแกร่ง

ในยุคที่แอปพลิเคชันต้องทำงานร่วมกันแบบ Real-time ทั้ง Mobile App, Web Frontend และ IoT Device ล้วนต้องการ REST API ที่รวดเร็ว ปลอดภัย และรองรับการขยายตัว Laravel 11 ซึ่งเปิดตัวในปี 2024 มาพร้อม Structure ที่เรียบง่ายกว่าเดิม ลด Boilerplate Code ลงอย่างมาก ทำให้นักพัฒนาสามารถสร้าง Production-ready API ได้เร็วขึ้นกว่าเดิมถึง 40%

สำหรับธุรกิจไทยที่ใช้ระบบ ERP, POS หรือแอปพลิเคชัน Mobile อยู่แล้ว การมี REST API ที่ดีหมายถึงการเชื่อมต่อทุกระบบเข้าด้วยกันได้อย่างราบรื่น บทความนี้จะพาไปสร้าง REST API ด้วย Laravel 11 ตั้งแต่ต้นจนจบใน 7 ขั้นตอน

---

ทำไมถึงเลือก Laravel 11 สำหรับ REST API

ก่อนเริ่มลงมือ ขอเปรียบเทียบ Laravel 11 กับ Framework อื่นๆ ที่ได้รับความนิยม:

| Framework | ภาษา | Learning Curve | ORM | Auth Built-in |

|---|---|---|---|---|

| Laravel 11 | PHP | ปานกลาง | Eloquent | ✅ Sanctum/Passport |

| Express.js | Node.js | ต่ำ | Mongoose/Sequelize | ❌ ต้องติดตั้งเพิ่ม |

| FastAPI | Python | ต่ำ | SQLAlchemy | ❌ ต้องติดตั้งเพิ่ม |

| Spring Boot | Java | สูง | JPA/Hibernate | ✅ Spring Security |

| NestJS | TypeScript | ปานกลาง | TypeORM | ✅ Passport |

Laravel 11 โดดเด่นตรงที่มี Ecosystem ครบครัน ทั้ง Authentication, Queue, Cache และ Rate Limiting พร้อมใช้งาน ไม่ต้องติดตั้ง Package เพิ่มมากมาย

สิ่งใหม่ใน Laravel 11 ที่นักพัฒนาต้องรู้

  • **Slim Skeleton** — โครงสร้างโปรเจกต์เล็กลง ไม่มี Route ที่ไม่จำเป็น
  • **Health Route** — `/up` endpoint สำหรับ Health Check อัตโนมัติ
  • **Simplified Exception Handling** — จัดการ Error ใน `bootstrap/app.php` แทน Handler class
  • **Per-second Rate Limiting** — ควบคุม API Call ได้ละเอียดขึ้น
  • **SQLite by default** — สะดวกสำหรับ Development Environment
  • ---

    ขั้นตอนที่ 1: ติดตั้ง Laravel 11 และตั้งค่าเบื้องต้น

    เริ่มต้นด้วยการติดตั้งผ่าน Composer:

    ```bash

    composer create-project laravel/laravel my-api

    cd my-api

    php artisan serve

    ```

    ตั้งค่า `.env` สำหรับ Database:

    ```env

    DB_CONNECTION=mysql

    DB_HOST=127.0.0.1

    DB_PORT=3306

    DB_DATABASE=my_api_db

    DB_USERNAME=root

    DB_PASSWORD=secret

    ```

    > เคล็ดลับ: สำหรับ Production บน Cloud (AWS RDS, Google Cloud SQL) ควรใช้ Connection String แทน เพื่อความปลอดภัย

    ---

    ขั้นตอนที่ 2: ออกแบบโครงสร้าง API (Resource Design)

    API ที่ดีต้องมีโครงสร้าง URL ที่ชัดเจนตามมาตรฐาน RESTful:

    | HTTP Method | Endpoint | คำอธิบาย |

    |---|---|---|

    | GET | `/api/v1/products` | ดึงรายการสินค้าทั้งหมด |

    | GET | `/api/v1/products/{id}` | ดึงสินค้าตาม ID |

    | POST | `/api/v1/products` | สร้างสินค้าใหม่ |

    | PUT | `/api/v1/products/{id}` | อัปเดตสินค้าทั้งหมด |

    | PATCH | `/api/v1/products/{id}` | อัปเดตสินค้าบางส่วน |

    | DELETE | `/api/v1/products/{id}` | ลบสินค้า |

    สร้าง Route ใน `routes/api.php`:

    ```php

    use App\Http\Controllers\Api\V1\ProductController;

    Route::prefix('v1')->group(function () {

    Route::apiResource('products', ProductController::class);

    });

    ```

    ---

    ขั้นตอนที่ 3: สร้าง Model, Migration และ Controller

    Laravel 11 ช่วยให้สร้างทุกอย่างด้วยคำสั่งเดียว:

    ```bash

    php artisan make:model Product -mcr --api

    ```

    คำสั่งนี้จะสร้าง Model, Migration และ Controller พร้อมกันทันที

    กำหนด Migration สำหรับตาราง Products:

    ```php

    Schema::create('products', function (Blueprint $table) {

    $table->id();

    $table->string('name');

    $table->text('description')->nullable();

    $table->decimal('price', 10, 2);

    $table->integer('stock')->default(0);

    $table->boolean('is_active')->default(true);

    $table->timestamps();

    $table->softDeletes();

    });

    ```

    ---

    ขั้นตอนที่ 4: API Resource สำหรับ Response ที่สวยงาม

    API Resource ช่วยควบคุมรูปแบบ JSON ที่ส่งกลับให้ Client ป้องกันการ Expose ข้อมูลที่ไม่จำเป็น:

    ```bash

    php artisan make:resource ProductResource

    ```

    ```php

    public function toArray(Request $request): array

    {

    return [

    'id' => $this->id,

    'name' => $this->name,

    'description' => $this->description,

    'price' => (float) $this->price,

    'stock' => $this->stock,

    'is_active' => $this->is_active,

    'created_at' => $this->created_at->toISOString(),

    ];

    }

    ```

    ---

    ขั้นตอนที่ 5: Authentication ด้วย Laravel Sanctum

    สำหรับ API ที่ต้องการการยืนยันตัวตน Laravel Sanctum เป็นตัวเลือกที่เบาและเหมาะสม:

    ```bash

    composer require laravel/sanctum

    php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"

    php artisan migrate

    ```

    สร้าง Route สำหรับ Authentication:

    ```php

    Route::prefix('v1')->group(function () {

    Route::post('/login', [AuthController::class, 'login']);

    Route::post('/register', [AuthController::class, 'register']);

    Route::middleware('auth:sanctum')->group(function () {

    Route::post('/logout', [AuthController::class, 'logout']);

    Route::apiResource('products', ProductController::class);

    });

    });

    ```

    ---

    ขั้นตอนที่ 6: Rate Limiting และ Validation

    Rate Limiting — ป้องกัน API Abuse

    ```php

    RateLimiter::for('api', function (Request $request) {

    return [

    Limit::perMinute(60)->by($request->user()?->id ?: $request->ip()),

    Limit::perSecond(10)->by($request->ip()), // ใหม่ใน Laravel 11

    ];

    });

    ```

    Form Request Validation

    ```php

    public function rules(): array

    {

    return [

    'name' => ['required', 'string', 'max:255'],

    'price' => ['required', 'numeric', 'min:0'],

    'stock' => ['required', 'integer', 'min:0'],

    'description' => ['nullable', 'string'],

    ];

    }

    ```

    ---

    ขั้นตอนที่ 7: Deploy สู่ Production

    Checklist ก่อน Deploy

  • ตั้งค่า `APP_ENV=production` และ `APP_DEBUG=false`
  • Run `php artisan config:cache` และ `php artisan route:cache`
  • ตั้งค่า HTTPS บน Server
  • เพิ่ม CORS ใน `config/cors.php`
  • ตั้งค่า Queue Worker สำหรับ Background Jobs
  • Monitor ด้วย Laravel Telescope หรือ Sentry
  • ประสิทธิภาพ API ที่คาดหวัง

    | Metric | เป้าหมาย | วิธีทำ |

    |---|---|---|

    | Response Time | < 200ms | Cache + Query Optimization |

    | Throughput | > 1,000 req/s | Queue + Load Balancer |

    | Uptime | 99.9% | Health Check + Auto Restart |

    | Security Score | A+ | HTTPS + Rate Limit + Sanctum |

    ---

    สรุป: เริ่มต้นสร้าง REST API ด้วย Laravel 11 วันนี้

    Laravel 11 มอบทุกสิ่งที่ธุรกิจต้องการสำหรับการสร้าง REST API ที่แข็งแกร่ง ทั้ง Authentication, Validation, Rate Limiting และ CORS ครบในตัว ไม่ต้องพึ่ง Third-party มากมาย

    ทั้ง 7 ขั้นตอนที่ผ่านมาครอบคลุมตั้งแต่การ Install จนถึง Deploy จริงบน Production ธุรกิจที่ต้องการระบบ API ที่ปลอดภัย รองรับการขยายตัว และพัฒนาต่อได้ง่าย Laravel 11 คือคำตอบที่ตรงที่สุด

    > ต้องการทีม Developer ที่เชี่ยวชาญ Laravel และ Next.js? ADS FIT พร้อมช่วยออกแบบและพัฒนาระบบ Backend API สำหรับธุรกิจของคุณ [ติดต่อเราวันนี้](/contact)

    Tags

    #Laravel#REST API#PHP#Backend Development#API Integration#Web Development

    สนใจโซลูชันนี้?

    ปรึกษาทีม ADS FIT ฟรี เราพร้อมออกแบบระบบที่ฟิตกับธุรกิจของคุณ

    ติดต่อเรา →

    บทความที่เกี่ยวข้อง