iT邦幫忙

2025 iThome 鐵人賽

DAY 15
0
Modern Web

Laravel 30天速成筆記系列 第 15

【Day 15】Laravel API 入門與 Resource

  • 分享至 

  • xImage
  •  

今天我們要來認識 API 開發
Laravel 提供了 Route::apiResource 幫助我們快速建立 RESTful API,方便系統與前端或 App 溝通!


1. API 是什麼?

API(Application Programming Interface)就像餐廳的服務生:

  • 你不需要進廚房(資料庫)
  • 只要告訴服務生(API)想吃什麼
  • 廚房會處理並送餐(回傳 JSON 資料)

2. 建立 API 路由

routes/api.php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ProductController;

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

會自動建立 CRUD API:

  • GET /api/products → 取得所有商品
  • GET /api/products/{id} → 查看單一商品
  • POST /api/products → 新增商品
  • PUT /api/products/{id} → 更新商品
  • DELETE /api/products/{id} → 刪除商品

3. 建立 Controller

php artisan make:controller ProductController --api

app/Http/Controllers/ProductController.php

namespace App\Http\Controllers;

use App\Models\Product;
use Illuminate\Http\Request;

class ProductController extends Controller
{
    public function index()
    {
        return Product::all();
    }

    public function store(Request $request)
    {
        $product = Product::create($request->all());
        return response()->json($product, 201);
    }
}

4. 測試 API

用 Postman 或 cURL 測試:

curl http://localhost:8000/api/products

回應結果:

[
  { "id": 1, "name": "手機", "price": 15999 },
  { "id": 2, "name": "筆電", "price": 32999 }
]

小結

  • Route::apiResource 快速建立 RESTful API
  • Controller 可以回傳 JSON 給前端或 App 使用
  • Laravel 內建 API 功能,讓新手也能快速上手

上一篇
【Day14】Laravel Middleware 與請求攔截
下一篇
【Day16】API 驗證與 Laravel Sanctum
系列文
Laravel 30天速成筆記16
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言