API Routes
A route.js file under app/api/... becomes a
real backend endpoint.
Example: a tiny API endpoint
// app/api/hello/route.js
export async function GET() {
return Response.json({ message: "Hello from the API!" });
}
Export a function named after the HTTP method it should handle
(GET, POST, and so on, the same methods from
the backend track's requests-and-responses lesson), and return a
Response. A request to /api/hello now returns
real JSON, no separate backend server or separate deployment required, this small project can keep its frontend and backend together in one
codebase, which is exactly why API routes are popular for small apps and
prototypes.
// app/api/hello/route.js
export async function GET() {
return Response.json({ message: "Hello from the API!" });
}
A GET request to /api/hello returns: {"message": "Hello from the API!"}