0장:introduction
초보자의 첫 Hello World부터 전문가의 프로덕션 아키텍처까지
공식 문서(docs.rs/axum)와 실전 예제를 기반으로 한 단계별 완전 해설
| 문서 버전 | v1.0 |
|---|---|
| 대상 Axum 버전 | 0.8 (최신 안정) |
| 기반 문서 | docs.rs/axum/latest/axum |
| 발행일 | 2026-07-15 |
| 문서 언어 | 한국어 (코드 주석 포함) |
| 난이도 | 입문 → 중급 → 고급 → 전문가 |
본 문서는 Axum 공식 문서와 tokio-rs/axum GitHub 예제 저장소를 1차 출처로 사용하며, 모든 코드 예제는 실제 동작 가능한 형태로 작성되었습니다.
docs.rs/axum 기반
| 기호 | 의미 | 활용 예 |
|---|---|---|
| 굵은 글씨 | 중요 용어, 처음 등장한 개념 | 추출기(Extractor)는 … |
| 코드 | 인라인 코드·식별자 | Router::new() 호출 |
| � 노트 | 보충 설명, 배경 지식 | Tower Service의 동작 방식 |
| ✓ 팁 | 실전 권장 사항, 성능 햁 | Arc로 상태 감싸기 |
| ⚠ 주의 | 흔한 실수, 함정 | 상태 복제 비용 |
| � 위험 | 보안·안정성 위험 | 사용자 입력 검증 누락 |
표 0-2. 본문에서 사용하는 기호와 표기 규칙
버전 및 호환성 정보
본문의 코드는 Axum 0.8 시리즈를 기준으로 작성되었습니다. Axum은 버전별로 일부 API에 파괴적 변경이 있을 수 있으므로, 구버전(0.6 이하)을 사용하는 경우 공식 마이그레이션 가이드를 함께 참조하기 바랍니다. 특히 0.7에서 0.8로 넘어오면서 라우트 파라미터 문법이 :param에서 {param}로 변경되었으며, 핸들러와 추출기의 일부 트레이트 경로도 정리되었습니다. 본문의 모든 예제는 0.8 문법을 따릅니다.
� 노트 · 최신 버전 확인 Axum의 최신 버전과 변경 이력은 항상 https://docs.rs/axum 의 상단 ‘Latest version’ 표시와 CHANGELOG를 통해 확인하세요. 본문의 API 시그니처는 해당 문서를 1차 출처로 사용합니다.
피드백과 정오표
기술 서적의 특성상 오류나 불분명한 설명이 있을 수 있습니다. 본문 중 발견된 오류나 개선 의견이 있다면 해당 내용의 챕터와 페이지를 명시하여 피드백해 주시면 후속 개정에 반영합니다. 특히 코드 예제의 경우 Rust 컴파일러 메시지와 공식 문서를 교차 검증하였으나, 의존성 버전에 따라 미세한 차이가 발생할 수 있으므로 cargo update 이후의 동작은 공식 changelog를 우선 참조하시기 바랍니다.