Next.js API Route Handler
Create typed API route handlers in Next.js App Router with Zod validation, standard Response objects, error handling middleware, and OpenAPI-compatible.
Code
import { z } from 'zod';
const bodySchema = z.object({
name: z.string().min(1),
age: z.number().int().min(0).max(150),
});
export async function POST(request: Request) {
const json = await request.json();
const parsed = bodySchema.safeParse(json);
if (!parsed.success) {
return Response.json({ errors: parsed.error.issues }, { status: 400 });
}
const user = await db.user.create({ data: parsed.data });
return Response.json(user, { status: 201 });
}