🌐 웹개발

tRPC

tRPC

TypeScript 엔드투엔드 타입 안전 API. 스키마 정의 없이 타입 추론.

상세 설명

tRPC는 TypeScript 프로젝트에서 엔드투엔드 타입 안전성을 제공하는 API 프레임워크입니다. REST나 GraphQL처럼 스키마를 별도로 정의할 필요 없이, 서버 코드에서 타입이 자동으로 클라이언트에 추론됩니다.

코드 예제

// server/router.ts import { router, publicProcedure } from './trpc'; import { z } from 'zod'; export const appRouter = router({ getUser: publicProcedure .input(z.object({ id: z.string() })) .query(({ input }) => { return { id: input.id, name: '홍길동' }; // 타입 자동 추론 }), }); // client 사용 const user = trpc.getUser.useQuery({ id: '1' }); // user.data는 { id: string, name: string } 타입

실무 대화 예시

프론트엔드

"API 응답 타입 정의하기 귀찮아요. 백엔드가 바뀔 때마다 수동으로 맞춰야 하고."

백엔드

"tRPC 쓰면 내가 서버 함수 타입 바꾸면 클라이언트에서 바로 에러 나. API 문서도 필요 없어."

주의사항

TypeScript 전용: 클라이언트와 서버 모두 TypeScript여야 장점을 누릴 수 있습니다.

관련 용어

더 배우기