Ce face app/api/route.ts - Endpoint-uri API backend (Route Handlers)
Route Handlers (fișierele `route.ts` sau `route.js`) înlocuiesc vechile API Routes din Pages Router (`pages/api`).
Sunt definite ca funcții asincrone exportate cu numele metodelor HTTP cu majuscule: `GET`, `POST`, `PUT`, `DELETE`, `PATCH`, `HEAD`, `OPTIONS`.
Folosesc standardele Web API Request și Response, oferind clasa utilitară `NextResponse` pentru răspunsuri JSON sau redirecționări.
Exemple
Exemplul 1: Endpoint API POST pentru primirea unui mesaj de contact
Parsează corpul JSON și salvează mesajul.
import { NextResponse } from 'next/server';
export async function POST(request: Request) {
const date = await request.json();
if (!date.email || !date.mesaj) {
return NextResponse.json(
{ eroare: 'Toate câmpurile sunt obligatorii' },
{ status: 400 }
);
}
// Salvare în baza de date...
return NextResponse.json({ succes: True, id_mesaj: 402 });
}
Ieșire în terminal
Endpoint disponibil public la /api/contact.
Greșeli frecvente
- Plasarea unui fișier ‘route.ts’ și a unui fișier ‘page.tsx’ în același director; o rută poate fi fie o pagină HTML, fie un endpoint API, nu ambele simultan.
Comenzi înrudite
Directiva 'use server' - Definirea acțiunilor de server (Server Actions): Permite rularea funcțiilor asincrone direct pe server, apelabile transparent din formulare HTML sau din butoane client fără a scrie manual API Routes.cookies() din next/headers - Gestionarea cookie-urilor pe server: Permite citirea, setarea și ștergerea cookie-urilor HTTP direct din componentele și acțiunile de server.headers() din next/headers - Inspectarea antetelor HTTP pe server: Oferă acces de doar-citire la toate antetele HTTP primite de server de la clientul web.
Întrebări & Exemple de Cod:
app/api/route.ts – Endpoint-uri API backend (Route Handlers)Ai o nelămurire despre utilizarea comenzii
app/api/route.ts – Endpoint-uri API backend (Route Handlers)sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.