Tworzenie procedur obsługi tras API
Twórz solidne punkty końcowe RESTful API za pomocą procedur obsługi tras App Routera, implementując logikę backendu.
Tworzenie procedur obsługi tras API to bezpłatna lekcja Next.js 15 Fullstack Web Apps na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Next.js 15 Fullstack Web Apps, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Next.js 15 Fullstack Web Apps zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
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.
Często zadawane pytania
Czy lekcja „Tworzenie procedur obsługi tras API” jest bezpłatna?
Tak — pełny tekst „Tworzenie procedur obsługi tras API” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Next.js 15 Fullstack Web Apps, przejdź na CoddyKit PRO. Kurs Next.js 15 Fullstack Web Apps zawiera 4 lekcji w sumie.
Co nauczysz się w „Tworzenie procedur obsługi tras API”?
Twórz solidne punkty końcowe RESTful API za pomocą procedur obsługi tras App Routera, implementując logikę backendu. Ćwiczysz Next.js 15 Fullstack Web Apps z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Next.js 15 Fullstack Web Apps?
Nie wymagamy żadnego doświadczenia. Next.js 15 Fullstack Web Apps w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Tworzenie procedur obsługi tras API”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Next.js 15 Fullstack Web Apps?
Tak. Każda lekcja Next.js 15 Fullstack Web Apps zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Tworzenie procedur obsługi tras API
- Walidacja żądań i bezpieczeństwo
- Integracja usług zewnętrznych
- Ograniczanie częstotliwości żądań i obsługa błędów API