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.

Typescript Next Data Fetching

Code

snippet
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 });
}