tRPC: End-to-End Type Safety for APIs

Build type-safe APIs with tRPC.

Share types between frontend and backend seamlessly.

Why tRPC?

✅ End-to-end type safety

✅ No code generation

✅ Auto-completion

✅ Runtime validation

Server Setup

import { initTRPC } from ‘@trpc/server’;

const t = initTRPC.create();

const appRouter = t.router({

user: t.router({

get: t.procedure.query(async () => {

return [{ id: 1, name: ‘John’ }];

}),

create: t.procedure

.input(z.object({ name: z.string() }))

.mutation(async ({ input }) => {

return { id: 2, name: input.name };

})

})

});

Client

import { createTRPCProxyClient } from ‘@trpc/client’;

const client = createTRPCProxyClient(appRouter);

const users = await client.user.get.query();

Conclusion

tRPC eliminates API type errors!

Leave a Comment