Serveur / structure des projets / GSON

Avant la séance (2h)

Regardez également la doc de Gson.

Web service côté serveur

Je montrerai également comment utiliser POSTMAN pour tester le serveur.

Le but ici de mettre en place la base de votre serveur applicatif. Pour chaque méthode de service identifiée dans votre client, il faudra un web service sur notre serveur.

On fera une capsule sur la structure de votre projet pour permettre de partager entre le serveur et le client les classes suivantes:

  • classes de transfert
  • sérialisation modifiée si nécessaire

Nous verrons comment utiliser Maven pour installer un projet (une librairie) localement et l'utiliser dans un autre projet. Nous verrons comment intégrer le repository local de Maven dans un projet Gradle et comment établir une dépendance vers notre librairie locale partagée.

Séance 2

Voir l'exemple de sérialisation Gson modifiée ici Gson custom.

Démos de:

  • Côté client, comment passer un Gson modifié à Retrofit.
  • Côté serveur, comment passer un Gson modifié à Jersey.

Vous devrez implanter la structure globale de votre projet incluant votre application Android, votre serveur Java et éventuellement une librairie de classes communes.

Exercices de la semaine

Exercice A

Vous devez créez un projet serveur (sur le port 7878) appelé Fibonacci qui prend en paramètre un entier dans le chemin "/api/fibo/123" et qui renvoie la suite de Fibonacci jusqu'au paramètre.

Vous devez renvoyer une liste d'entier au format JSON.

Exercice B

Vous devez déployer le serveur programmé précédemment sur le serveur avec votre propre numéro de port.

Exercice C

Créez dans un projet GsonDateTime un Gson modifié permettant de (dé)sérialiser un DateTime en le représentant comme le nombre de millisecondes depuis l'EPOCH. Vous devez également vous assurer que le pretty printing est activé. Codez les tests unitaires permettant de valider le fonctionnement.