Amosse EDOUARD > MIAGE NTDP 2015-2016 > Eposer toutes les resources de l'application Web dans un Web Service RestFul.

Eposer toutes les resources de l'application Web dans un Web Service RestFul.

De $1

Table des matières
aucun titre

Dans le TP d'aujourd'hui nous allons exposer les autres entités du modèle comme ressources dans le web service. Mais avant, nous allons revenir sur le TP 1 afin d'intégrer la serialisation/désérialisation XML des entités.  Jusqu'à présent, vous avez testé vos méthodes avec JSON, si vous testez avec XML vous risquez d'avoir une petite erreur qu'il faudra qu'on corrige avant d'appler plus loin. 

Afin d'activer la sérialisation/déserialisation XML dans vos entités, vous devez ajouter l'annotation @XmlRootElement du package javax.xml.bind.annotation sur chacune des entités vous désirez exposer comme ressource dans votre Web Service. Par exemple, ajoutez cette annotation sur la classe Categorie puis tester la methode list en demandant au WS de vous renvoyer du XML; normalement tout devrait etre bon. 

  •  Exposer les entités Auteur, Livre, Pret, et Users.  Pour chaque ressource, définir les méthodes suivantes:
    1. list: Retourne la liste de toutes les entités 
    2. find: Retourne une entité dont l'id correspond à l'Id passé en paramètres 
    3. save: Ajoute une entité dans la base
    4. delete: Supprime une entité de la base 
    5. update: Mise à jour de l'entité passée en paramètre 
    6. findByrange: Retourne une collection d'entités dont les ids sont compris entre les deux ids passés en paramètre.  L'URI de cette action doit ressembler à findByRange/min-10_max-20
    7. count : retourne le nombre total d'objets dans la base

 

  • Compléter les ressources en y ajoutant des fonctonnalités supplémentaires
    1. Ajouter la méthode Login dans Users permettant d'authentifier un utilisateur sur le système. Cette méthode acceptera en paramètre le username et le password d'un utilisateur et renverra l'utilisateur si les identifiants sont correctes ou un message d'erreurs sinon.  Voici le modèle de réponse que doit retourner cette action 
      {
      "username" : "user@gmail.com",
      "password" : "1234"
      }

       Modèle de réponse en cas d'erreur 

      {
      "success" : false,
      "message" : "Nom d'utilisateur ou mot de passe incorrecte"
      }

      Modèle de réponse en cas de succès

      {
        "success": true,
        "user": {
          "nom": "Edouard",
          "prenom": "Amosse",
          "sexe": "Masculin",
          "telephone": "123456789",
          "email": "eamosse@gmail.com",
          "status": true,
          "id": 12
          .....
        }
      }

 

  • Définir les actions de la colonne de gauche du tableau suivant dans les ressources de la seconde colonne en vous basant sur les définitions de la dernière colonne. 
Action Ressource Description
findPret Livre Retrouver tous les prêts en cours pour un livre donné
findPret Users Retrouver tous les prets en cours pour un utilisateur donné
findAvailable Livre Retrouver toutes les livres disponibles pour prêt. Un livre est disponible pour prêt si le nombre d'exemplaire disponible est supérieur à 1
findAuthorByType Author Retrouver tous les authors dont le type correspond au type passé en paramètre
findBadUsers Pret Retrouver les utilisateurs ayant contracté un prêt et n'ayant pas retourné le livre dans le délai imparti.
findBestLivre Livre Retrouver les 10 livres les plus empruntés.

 

Mots clés:
 
Images (0)
 
Commentaires (0)
Vous devez être connecté pour poster un commentaire.