Axum
Pengenalan Axum
Apa itu Axum, cara instalasi, dan cara menjalankan server pertamamu.
Routing Dasar
Mendaftarkan berbagai method HTTP dan pola path di Axum menggunakan Router.
Path Extractor
Mengambil parameter dinamis dari URL menggunakan Path<T>.
Query Extractor
Mengambil parameter query string menggunakan Query<T>.
JSON Body dengan Serde
Menerima data JSON dari request body menggunakan Json<T>.
Membangun Response JSON
Mengembalikan data terstruktur sebagai response JSON menggunakan IntoResponse.
Shared State dengan State<T>
Berbagi data antar handler menggunakan State<T> dan Arc.
Error Handling dengan IntoResponse
Membuat tipe error kustom yang otomatis dikonversi menjadi HTTP response.
Middleware dengan Tower Layer
Menambahkan logging request otomatis menggunakan TraceLayer dari tower-http.
Urutan Extractor
Aturan penempatan extractor dalam signature handler Axum.
Nested Router
Menyusun aplikasi besar dengan router bersarang menggunakan .nest().
CORS dengan tower-http
Mengizinkan request lintas origin menggunakan CorsLayer.
Integrasi Database dengan Sqlx
Menyimpan connection pool database di dalam application state.
Validasi Request Body
Memvalidasi data JSON sebelum diproses lebih lanjut.
Testing dengan tower::ServiceExt
Menguji handler Axum tanpa perlu menjalankan server sungguhan.
Kombinasi Banyak Extractor
Menggabungkan Path, Query, State, dan Json dalam satu handler nyata.
Mengambil Header Request
Membaca header HTTP seperti Authorization menggunakan HeaderMap.
Menyajikan File Statis
Melayani file statis (HTML, CSS, gambar) menggunakan ServeDir dari tower-http.
Tugas Akhir
Membangun REST API Catatan lengkap yang menggabungkan routing, extractor, state, dan JSON di Axum.