Spark pour les débutants : Créer des API Rest full avec Java et MongoDb

English English

Bienvenue, nous allons découvrir dans ce tutoriel comment créer des API Rest full avec MongoDb comme base de donnée NOSQL en utilisant le langage Java. à la fin de ce tuto vous serez capable de créer vos propres API en interagissant avec une base de donnée NOSQL (mongodb). Le code de ce TP va être effectué en Java vous trouverez le liens du repo Github à la fin du tuto.

Demo Youtube

Pré-requis :

  • Vous aurez besoin du Java Development Kit (JDK) pour que Spark fonctionne en local.
  • Vous aurez besoin du Maven pour gérer le cycle de vie de l’application.
  • Vous aurez besoin bien sûr de Apache Spark installer.
  • Vous aurez besoin de MongoDb installer.
  • Des bases du fonctionnement des services Rest full

Note : Référez vous à l’article précèdent pour l’installation de l’environnement Spark, et à la documentation officielle MongoDb pour installation de mongo.

Ajout des dépendances MongoDb

Pour pouvoir utiliser MongoDb avec Apache Spark on a besoin de MongoDb Connector for Spark et spécifiquement de Spark Connector Java API.

Premièrement on vas créer un nouveau project Maven avec Eclipse, pour cette exemple je vais créer une toute petite application de gestion de Produit. Je choisis tn.esprit comme Group Id et shop comme Artifact Id. voir ci-dessus.

On vas modifier le fichier pom.xml en ajoutant les dépendances suivantes : mongo-java-driver,spark-core,bson,morphia,gson. Et on vas spécifier la version Java 1.8 pour le compilateur Maven.


Ensuite on exécute un maven install  pour télécharger les dépendances et les installer. une fois vous obtenez un BUILD SUCCESS vous pouvez passer à l’étape suivante.

Création de l’entité Product

on va rapidement créer une entité Product qui a les propriétés suivantes : Id, Name, Price.

Création de ProductService et connexion à la base de donnée

Une fois notre entité créer et prête à l’emplois, on passe à la création de notre service ( couche métier). c’est dans la classe Java ProductService qu’on va établir la connexion à la base de donnée mongodb, et on vas créer deux méthode addProduct et getAllProduct. ci-dessus le code source commenté.

Définition des Api

On va créer une nouvelle classe Java Api.java qui contiendra les routes de notre Api en utilisant Apache Spark.

Execution & test avec PostMan

Pour exécuter notre application, on doit d’abord la générer avec Manven en exécutant maven install . Ensuite on va créer une nouvelle connexion à notre base de donnée mongodb en exécutant la commande suivante:

mongod

En fin clique droit sur le fichier Api.java et Run As Java Application.

 

Une fois notre serveur en marche on passe à la phase de test avec PostMan.

Github Repo