Martini와 비슷한 API를 제공하며 REST API, 웹 앱, 마이크로서비스 구축에 적합한 고성능 Go HTTP 웹 프레임워크입니다.
go-chi/chi
Go에서 미들웨어, 라우트 그룹, 서브라우터 마운트를 지원하는 REST API 서비스용 경량 net/http 호환 라우터입니다.
- 스타
- 22,981
- 포크
- 3,717
- 열린 이슈
- 132
- 마지막 커밋
- 4일 전
어떤 프로젝트인가요?
chi는 Go HTTP 서비스를 위한 라우터입니다. 이름이 지정된 매개변수와 와일드카드가 포함된 URL 패턴을 핸들러에 매핑하며, 표준 라이브러리의 net/http 및 context 패키지를 기반으로 하므로 net/http용으로 작성된 핸들러나 미들웨어를 모두 사용할 수 있습니다. 핵심 라우터는 작고 외부 의존성이 없습니다.
라우터는 조합 가능한 미들웨어, 개별 라우트에 직접 적용하는 미들웨어, 라우트 그룹, 경로 접두사에 별도의 서브라우터를 마운트하는 기능을 지원합니다. 덕분에 대규모 REST API를 각자 미들웨어 스택을 갖춘 작은 패키지로 나누기 좋습니다. 요청 범위 값, 취소, 타임아웃은 요청 컨텍스트를 통해 전달됩니다.
선택 사항인 미들웨어 패키지는 요청 ID, 로깅, 패닉 복구, 압축, 요청 제한, 타임아웃, 클라이언트 IP 감지 등의 컴포넌트를 제공합니다. 함께 제공되는 패키지에는 CORS, JWT 인증, 요청 속도 제한, docgen을 통한 라우트 문서 생성 기능이 포함됩니다.
핵심 기능
- 01라우트 패턴에서 이름이 지정된 URL 매개변수, 정규식 매개변수, 와일드카드 지원
- 02미들웨어 스택, 인라인 미들웨어, 라우트 그룹
- 03경로 접두사에 서브라우터 마운트
- 04표준 net/http 핸들러 및 미들웨어와 완벽하게 호환
- 05로깅, 복구, 압축, 타임아웃 등을 위한 기본 미들웨어 패키지
활용 사례
- Go에서 유지보수하기 쉬운 대규모 REST API 서비스 구축
- 모놀리식 HTTP 서비스를 모듈형 서브라우터로 분리
- Go 서비스에 로깅, 인증, 타임아웃을 위한 표준 미들웨어 스택 추가
빠른 시작
- 1
go get으로 chi 설치
go get -u github.com/go-chi/chi/v5
토픽
자주 묻는 질문
- chi은(는) 무엇인가요?
- Go에서 미들웨어, 라우트 그룹, 서브라우터 마운트를 지원하는 REST API 서비스용 경량 net/http 호환 라우터입니다. chi는 Go HTTP 서비스를 위한 라우터입니다. 이름이 지정된 매개변수와 와일드카드가 포함된 URL 패턴을 핸들러에 매핑하며, 표준 라이브러리의 net/http 및 context 패키지를 기반으로 하므로 net/http용으로 작성된 핸들러나 미들웨어를 모두 사용할 수 있습니다. 핵심 라우터는 작고 외부 의존성이 없습니다.
- chi은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- chi은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- chi은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. chi의 마지막 커밋은 2026년 10월 18일입니다.
- chi은(는) 어디에 사용할 수 있나요?
- Go에서 유지보수하기 쉬운 대규모 REST API 서비스 구축 모놀리식 HTTP 서비스를 모듈형 서브라우터로 분리 Go 서비스에 로깅, 인증, 타임아웃을 위한 표준 미들웨어 스택 추가
- chi는 어떻게 설치하나요?
- go get으로 chi 설치: go get -u github.com/go-chi/chi/v5
- chi은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/go-chi/chi
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Go 표준 net/http 패키지를 기반으로 한 고성능 미니멀 웹 프레임워크입니다.
fasthttp 엔진을 기반으로 REST API와 웹 서버를 만들 수 있는 Express 스타일의 Go 웹 프레임워크입니다.
최소한의 설정으로 운영 환경에 적합한 Spring 기반 애플리케이션과 서비스를 만들 수 있는, 기본 설정이 잘 갖춰진 Java 프레임워크입니다.
HTTP 및 WebSocket 웹 서비스를 만들기 위한 빠르고 사용하기 쉬운 Flask 스타일의 헤더 전용 C++ 마이크로프레임워크입니다.
직렬화, 인증 정책, 뷰셋, 브라우저에서 탐색 가능한 API를 제공하는 Django 기반 Web API 구축 툴킷입니다.