
tRPC Has a Free API: End-to-End Type-Safe APIs Without Code Generation
Why tRPC tRPC gives you end-to-end type safety between your API and client — no code generation, no GraphQL schema, no OpenAPI spec. Change a server type, and TypeScript catches client errors instantly. Install npm install @trpc/server @trpc/client zod Server import { initTRPC } from ' @trpc/server ' ; import { z } from ' zod ' ; const t = initTRPC . create (); const appRouter = t . router ({ getUser : t . procedure . input ( z . object ({ id : z . string () })) . query ( async ({ input }) => { return await db . user . findUnique ({ where : { id : input . id } }); }), createUser : t . procedure . input ( z . object ({ name : z . string (). min ( 2 ), email : z . string (). email (), })) . mutation ( async ({ input }) => { return await db . user . create ({ data : input }); }), listUsers : t . procedure . input ( z . object ({ page : z . number (). default ( 1 ), limit : z . number (). max ( 100 ). default ( 20 ), })) . query ( async ({ input }) => { return await db . user . findMany ({
Continue reading on Dev.to React
Opens in a new tab

