Creazione di Route Handlers per le API
Crei endpoint API RESTful robusti utilizzando i Route Handlers dell'App Router per la logica backend.
Creazione di Route Handlers per le API è una lezione Next.js 15 Fullstack Web Apps gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Next.js 15 Fullstack Web Apps, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Next.js 15 Fullstack Web Apps include 4 lezioni in totale.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
Welcome to Route Handlers
In Next.js 15, Route Handlers are the powerful way to build backend API endpoints directly within your App Router project.
They allow you to create RESTful APIs, handle webhooks, or perform any server-side logic, all co-located with your frontend code.
Why Use Route Handlers?
Route Handlers offer several benefits:
- Simplicity: No need for a separate backend server.
- Co-location: API logic lives next to related UI components.
- Performance: Built on Web Standard APIs, making them efficient.
- Flexibility: Support all HTTP methods (GET, POST, PUT, DELETE, etc.).
Creating Your First Handler
To create a Route Handler, define a route.ts (or .js) file inside an app directory segment. For example, app/api/hello/route.ts will handle requests to /api/hello.
Inside this file, you export functions that match HTTP methods, like GET, POST, etc.
Handling GET Requests
The GET function handles HTTP GET requests. It receives a NextRequest object and should return a NextResponse.
Let's create a simple 'hello world' API endpoint.
import { NextResponse } from 'next/server';
export async function GET() {
return NextResponse.json({ message: 'Hello from API!' });
}How to Access GET Handler
The previous code snippet, placed in app/api/hello/route.ts, creates an endpoint accessible at /api/hello.
When you navigate to http://localhost:3000/api/hello in your browser, you'll see the JSON response: {"message":"Hello from API!"}.
Handling POST Requests
For data submission, you'll use the POST function. It also receives the NextRequest object, which contains the request body.
You can parse the JSON body using await request.json().
import { NextRequest, NextResponse } from 'next/server';
export async function POST(request: NextRequest) {
const data = await request.json();
return NextResponse.json(
{ message: 'Data received', data },
{ status: 200 }
);
}Accessing Request Details
The NextRequest object provides rich access to request details:
request.url: The full request URL.request.headers: Request headers (e.g.,request.headers.get('Content-Type')).request.nextUrl.searchParams: Query parameters (e.g.,?name=Alice).
These are crucial for dynamic and secure API logic.
Dynamic Segments in Handlers
Just like pages, Route Handlers can have dynamic segments. For example, app/api/items/[id]/route.ts.
You can access these dynamic parameters from the params object passed to your handler function.
import { NextRequest, NextResponse } from 'next/server';
interface Params {
params: { id: string };
}
export async function GET(
request: NextRequest,
{ params }: Params
) {
const id = params.id; // '123' for /api/items/123
return NextResponse.json({ itemId: id, message: 'Fetched item' });
}Setting Status and Headers
When returning a NextResponse, you can customize the HTTP status code and headers.
This is important for proper API communication, like indicating success (200, 201) or errors (400, 404, 500).
import { NextResponse } from 'next/server';
export async function DELETE() {
return new NextResponse(null, { status: 204 }); // No Content
}Quick Check: Handler Basics
You want to create an API endpoint at /api/products that returns a list of products when a GET request is made.
Which code snippet correctly sets up this handler in app/api/products/route.ts?
Recap: Building API Handlers
You've learned the fundamentals of Next.js 15 Route Handlers!
- They allow backend logic co-located in the
appdirectory. - Define handlers by exporting functions (
GET,POST, etc.) in aroute.tsfile. - Use
NextRequestto access request details andNextResponseto send responses. - Dynamic segments enable flexible API routes.
This powerful feature streamlines fullstack development in Next.js.
Domande Frequenti
La lezione «Creazione di Route Handlers per le API» è gratuita?
Sì — il testo completo di «Creazione di Route Handlers per le API» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Next.js 15 Fullstack Web Apps, passa a CoddyKit PRO. Il corso Next.js 15 Fullstack Web Apps include 4 lezioni in totale.
Cosa imparerò in «Creazione di Route Handlers per le API»?
Crei endpoint API RESTful robusti utilizzando i Route Handlers dell'App Router per la logica backend. Eserciti Next.js 15 Fullstack Web Apps con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Next.js 15 Fullstack Web Apps?
Non è richiesta alcuna esperienza precedente. Next.js 15 Fullstack Web Apps su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Creazione di Route Handlers per le API»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Next.js 15 Fullstack Web Apps?
Sì. Ogni lezione Next.js 15 Fullstack Web Apps include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Creazione di Route Handlers per le API
- Validazione delle richieste e sicurezza
- Integrazione di servizi esterni
- Rate limiting e gestione degli errori API