Repolode
tokio-rs

tokio-rs/axum

tower와 hyper를 기반으로 구축한, 사용하기 편하고 모듈화된 Rust HTTP 라우팅 및 요청 처리 라이브러리입니다.

스타
27,588
포크
1,526
열린 이슈
109
마지막 커밋
5일 전

어떤 프로젝트인가요?

axum은 HTTP 서버를 구축하기 위한 Rust 라이브러리입니다. 매크로 없이 경로를 비동기 핸들러 함수에 연결하며, 핸들러는 extractor를 통해 파싱된 JSON 본문처럼 요청에서 필요한 항목을 선언합니다. 따라서 파싱과 검증 로직을 선언적으로 작성할 수 있습니다. 핸들러는 response trait을 구현하는 모든 값을 반환할 수 있어 오류 처리와 응답 생성을 예측 가능하게 유지합니다.

axum은 자체 미들웨어 시스템을 정의하는 대신 tower::Service를 기반으로 합니다. tower 및 tower-http 생태계의 타임아웃, tracing, 압축, 권한 부여 기능을 바로 적용할 수 있으며, hyper나 tonic으로 작성한 애플리케이션과 미들웨어를 공유할 수도 있습니다. axum은 hyper 위에 얇은 계층을 더해 오버헤드를 최소화합니다.

이 프로젝트는 crates.io에 공개되어 있으며, 현재 0.8.x 릴리스 라인을 제공하고 있습니다. 한편 main 브랜치에서는 호환성을 깨는 변경이 포함된 0.9를 준비 중입니다. unsafe 코드를 금지하고 있으며, 최소 지원 Rust 버전은 1.80입니다.

핵심 기능

  • 01매크로 없이 경로를 비동기 핸들러 함수에 연결하는 라우팅.
  • 02JSON 본문을 포함해 extractor로 선언적으로 요청을 파싱.
  • 03최소한의 상용구 코드로 일반적인 반환 타입에서 응답 생성.
  • 04tower 미들웨어 생태계와 완벽하게 호환.
  • 05오버헤드가 적은 hyper 기반의 얇은 계층.
  • 06unsafe 코드를 금지하고 안전한 Rust만으로 작성.

활용 사례

  • 타입이 지정된 요청 및 응답 본문을 사용하는 Rust JSON REST API 구축.
  • Rust 웹 서비스에 tracing, 타임아웃, 압축 등의 공용 미들웨어 적용.
  • 웹 API와 hyper 또는 tonic 기반 서비스 간 미들웨어 공유.

빠른 시작

  1. 1

    Rust 프로젝트에 axum을 추가합니다(README에 설치 명령이 없습니다).

  2. 2

    README의 사용 예제를 src/main.rs에 복사합니다.

  3. 3

    examples 디렉터리에서 다른 코드 샘플을 살펴봅니다.

사용 전 알아둘 점

  • main 브랜치에는 0.9 이전의 호환성을 깨는 변경 사항이 포함되어 있으므로, 릴리스 버전을 사용하려면 0.8.x 브랜치를 사용하세요.
  • 지원되는 최소 Rust 버전은 1.80입니다.

포함된 컬렉션

토픽

자주 묻는 질문

axum은(는) 무엇인가요?
tower와 hyper를 기반으로 구축한, 사용하기 편하고 모듈화된 Rust HTTP 라우팅 및 요청 처리 라이브러리입니다. axum은 HTTP 서버를 구축하기 위한 Rust 라이브러리입니다. 매크로 없이 경로를 비동기 핸들러 함수에 연결하며, 핸들러는 extractor를 통해 파싱된 JSON 본문처럼 요청에서 필요한 항목을 선언합니다. 따라서 파싱과 검증 로직을 선언적으로 작성할 수 있습니다. 핸들러는 response trait을 구현하는 모든 값을 반환할 수 있어 오류 처리와 응답 생성을 예측 가능하게 유지합니다.
axum은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
axum은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
axum은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. axum의 마지막 커밋은 2026년 10월 20일입니다.
axum은(는) 어디에 사용할 수 있나요?
타입이 지정된 요청 및 응답 본문을 사용하는 Rust JSON REST API 구축. Rust 웹 서비스에 tracing, 타임아웃, 압축 등의 공용 미들웨어 적용. 웹 API와 hyper 또는 tonic 기반 서비스 간 미들웨어 공유.
axum는 어떻게 설치하나요?
Rust 프로젝트에 axum을 추가합니다(README에 설치 명령이 없습니다). README의 사용 예제를 src/main.rs에 복사합니다. examples 디렉터리에서 다른 코드 샘플을 살펴봅니다.
axum은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/tokio-rs/axum

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트