Mini API HTTP en Rust avec Axum, construite pour pratiquer les bases :
- routing
- extraction de paramètres de route
- réponses JSON
- gestion d'erreurs personnalisée
- arrêt propre du serveur (
CTRL+C)
- Rust (2024)
- axum
- tokio
- serde_json
cargo runServeur démarré sur :
127.0.0.1:3000
Retourne un message simple.
Exemple de réponse :
Hello World
Retourne l'état du serveur.
Exemple de réponse :
{
"status": "ok",
"message": "Server is running"
}Recherche un utilisateur dans src/users.json.
id = 0->400 Bad Requestidinexistant ->404 Not Found- erreur lecture/parsing ->
500 Internal Server Error
Exemple :
curl http://127.0.0.1:3000/users/1Réponse :
id: 1 | name : "admin"
Route présente mais actuellement non implémentée (retourne une erreur interne).
Le fichier d'exemple est :
src/users.json
Contenu actuel :
[
{ "id": 1, "name": "admin" },
{ "id": 2, "name": "Mega" }
].
├── Cargo.toml
├── README.md
└── src
├── main.rs
└── users.json
- implémenter
GET /users/pour retourner toute la liste - uniformiser les réponses (JSON partout)
- ajouter des tests d'intégration
- brancher un vrai stockage (DB)