Nextjs Route Handlers Server Actions Caching Revalidation Tags Data Mutation Flow
Definisi
Route Handler adalah endpoint API di dalam Next.js App Router (file route.ts di dalam app/). Server Action adalah fungsi async yang dijalankan di server dan bisa dipanggil langsung dari komponen React (form atau event handler). Keduanya dipakai untuk mutasi data, tapi punya tempat yang beda.
Kapan dipakai
- Route Handler: butuh endpoint HTTP eksplisit (Webhook, API eksternal, akses programatik, kontrol method
GET/POST/PUT/DELETEmanual). - Server Action: mutasi yang dipicu dari UI (submit form, tombol simpan) dan ingin langsung revalidate cache tanpa fetch manual dari client.
Kalau ragu, mutasi dari form lebih enak pakai Server Action; endpoint untuk client lain pakai Route Handler.
Cara kerja
Route Handler
// app/api/orders/route.ts
import { NextResponse } from 'next/server';
export async function POST(req: