인터랙티브 API 레퍼런스, 오프라인 우선 API 클라이언트, 다양한 웹 프레임워크용 통합 기능을 제공하는 오픈 소스 OpenAPI/Swagger 툴킷입니다.
L-Blondy/up-fetch
네이티브 fetch에 스키마 검증, 타입 지정 응답, 재시도, 타임아웃, 진행률 추적 기능을 추가하는 TypeScript fetch 클라이언트 빌더입니다.
- 스타
- 1,409
- 포크
- 22
- 열린 이슈
- 2
- 마지막 커밋
- 2개월 전
어떤 프로젝트인가요?
upfetch는 네이티브 fetch API를 감싸는 fetch 클라이언트 빌더입니다. baseUrl, headers, timeout, 재시도 설정 등의 기본 옵션으로 인스턴스를 만든 다음 fetch처럼 호출할 수 있습니다. 요청 매개변수와 본문에는 일반 객체를 전달할 수 있으며, JSON 응답은 자동으로 파싱됩니다.
zod, valibot, arktype를 비롯해 Standard Schema 사양을 따르는 모든 스키마를 사용할 수 있습니다. 스키마를 전달하면 응답을 검증한 뒤 추론된 타입과 함께 반환하며, 일치하지 않으면 ResponseValidationError가 발생합니다. 기본적으로 성공 상태가 아닌 응답은 ResponseError로 처리되며, reject와 parseRejected 동작은 사용자 지정할 수 있습니다.
또한 시도 횟수, 지연 시간, 조건을 설정할 수 있는 재시도 기능과 요청별 타임아웃, 라이프사이클 훅, 업로드·다운로드 진행률 및 스트리밍 콜백을 제공합니다. 패키지는 npm에 up-fetch로 배포되며 브라우저, Node.js, Bun, Deno, Cloudflare Workers, Vercel Edge Runtime에서 실행됩니다.
핵심 기능
- 01zod, valibot, arktype 및 호환 라이브러리를 사용하는 Standard Schema 검증
- 02쿼리 매개변수와 요청 본문에 일반 객체를 사용하고 JSON을 자동 직렬화
- 03시도 횟수, 지연 시간, 재시도 조건을 설정할 수 있는 재시도 기능
- 04요청별 및 기본 타임아웃
- 05업로드·다운로드 진행률과 스트리밍 콜백
- 06요청, 응답, 성공, 오류, 재시도를 위한 라이프사이클 훅
활용 사례
- 런타임 응답 검증을 지원하는 TypeScript 프런트엔드용 타입 지정 API 클라이언트 구축
- 불안정한 서드파티 API 호출에 재시도와 타임아웃 추가
- 웹 앱에 업로드 또는 다운로드 진행률 표시줄 구현
- AI 채팅 출력과 같은 스트리밍 응답 처리
빠른 시작
- 1
npm에서 패키지를 설치합니다
npm i up-fetch - 2
네이티브 fetch를 래핑하는 upfetch 인스턴스를 만듭니다
- 3
선택적으로 스키마 검증을 적용해 요청을 보냅니다
사용 전 알아둘 점
- 스키마 검증에는 zod나 valibot 같은 별도의 라이브러리가 필요합니다.
토픽
자주 묻는 질문
- up-fetch은(는) 무엇인가요?
- 네이티브 fetch에 스키마 검증, 타입 지정 응답, 재시도, 타임아웃, 진행률 추적 기능을 추가하는 TypeScript fetch 클라이언트 빌더입니다. upfetch는 네이티브 fetch API를 감싸는 fetch 클라이언트 빌더입니다. baseUrl, headers, timeout, 재시도 설정 등의 기본 옵션으로 인스턴스를 만든 다음 fetch처럼 호출할 수 있습니다. 요청 매개변수와 본문에는 일반 객체를 전달할 수 있으며, JSON 응답은 자동으로 파싱됩니다.
- up-fetch은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- up-fetch은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- up-fetch은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. up-fetch의 마지막 커밋은 2026년 9월 1일입니다.
- up-fetch은(는) 어디에 사용할 수 있나요?
- 런타임 응답 검증을 지원하는 TypeScript 프런트엔드용 타입 지정 API 클라이언트 구축 불안정한 서드파티 API 호출에 재시도와 타임아웃 추가 웹 앱에 업로드 또는 다운로드 진행률 표시줄 구현 AI 채팅 출력과 같은 스트리밍 응답 처리
- up-fetch는 어떻게 설치하나요?
- npm에서 패키지를 설치합니다: npm i up-fetch 네이티브 fetch를 래핑하는 upfetch 인스턴스를 만듭니다 선택적으로 스키마 검증을 적용해 요청을 보냅니다
- up-fetch은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/L-Blondy/up-fetch
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
REST, GraphQL, WebSocket, SSE, Socket.IO, MQTT 요청을 보내는 오픈소스 API 개발 도구 모음
GraphQL, REST, WebSockets, SSE, gRPC를 지원하고 로컬, Git, 클라우드 저장소를 제공하는 오픈소스 크로스 플랫폼 API 클라이언트입니다.
영화, TV 프로그램, 음악을 앱을 통해 기기로 스트리밍하는 무료 셀프 호스팅 미디어 서버 백엔드 및 API로, Plex와 Emby를 대체하는 오픈소스 프로젝트입니다.
금융, 교통, 날씨, 뉴스, 사이버 보안 등 다양한 분야의 실시간 공개 및 유료 데이터 소스를 엄선해 모았습니다.
캐시된 데이터를 먼저 반환한 뒤 백그라운드에서 재검증하는 React Hooks 데이터 페칭 라이브러리입니다.