Usage Patterns
Common integration scenarios.
tRPC Procedures
import { UserInputSchema, UserResultSchema } from './prisma/generated/schemas';
export const userRouter = t.router({
create: t.procedure
.input(UserInputSchema)
.mutation(({ ctx, input }) => ctx.prisma.user.create({ data: input }))
});
Express / Fastify
app.post('/users', (req, res) => {
const parsed = UserInputSchema.parse(req.body);
// ...
});
Next.js Route Handler
export async function POST(req: Request) {
const body = await req.json();
const data = UserInputSchema.parse(body);
return NextResponse.json(data);
}
Form Validation
Use safeParse
for user-facing error messaging.