Création d'une API RESTful avec Spring Boot, MongoDB et Redis
- Mettre en place une API RESTful pour la gestion des tâches
- Optimiser les performances avec un système de cache (Redis)
- Dockeriser l'application pour un déploiement simplifié
Version recommandée : 17+
Installation :
- Télécharger depuis Oracle ou OpenJDK
- Sous Linux :
sudo apt update sudo apt install openjdk-17-jdk
- Vérifiez l'installation :
java -version
Utilisé pour gérer les dépendances du projet
Installation :
- Télécharger depuis Maven
- Sous Linux :
sudo apt update sudo apt install maven
- Vérifiez l'installation :
mvn -version
- Framework pour créer l'API REST
- Inclus dans le projet via Maven
Base de données NoSQL pour stocker les tâches
Installation :
- Guide officiel MongoDB
- Sous Linux :
sudo apt install -y mongodb sudo systemctl start mongodb sudo systemctl enable mongodb - Vérifiez que MongoDB fonctionne :
mongo
Système de cache en mémoire
Installation :
- Guide officiel Redis
- Sous Linux :
sudo apt install redis sudo systemctl start redis sudo systemctl enable redis - Vérifiez que Redis fonctionne :
redis-cli ping
Pour containeriser l'application
Installation :
- Guide officiel Docker
- Sous Linux :
sudo apt update sudo apt install docker.io docker-compose sudo systemctl start docker sudo systemctl enable docker
- Pour tester les requêtes API
- Télécharger depuis Postman
TaskController: Gestion des routes API (GET, POST, DELETE, PUT)TaskService: Logique métier avec annotations pour la mise en cacheTaskRepository: Accès à la base de données MongoDB- Docker Compose : Fichier
docker-compose.ymlpour lancer MongoDB, Redis, et Spring Boot
git clone https://github.com/ttacett/spring-redis-mongodb-demo.git
cd spring-redis-mongodb-demo- Vérifiez que Java, Maven, MongoDB, Redis et Docker sont installés
sudo systemctl start mongodb
sudo systemctl start redismvn clean install
mvn spring-boot:run- POST : Créer une tâche
- GET : Récupérer une tâche par son ID
- PUT : Modifier une tâche par son ID
- DELETE : Supprimer une tâche
Lancer avec Docker Compose :
docker-compose up --build