Skip to content
Snippets Groups Projects
Select Git revision
  • 8ba44742e1dd21bc86b5ffcd2ed6a9d961bba603
  • master default protected
2 results

rest-tutoriel-tests-bdd

Forked from Yvan Peter / rest-tutoriel-tests-bdd
16 commits behind the upstream repository.
Yvan Peter's avatar
Yvan Peter authored
8ba44742
History
Name Last commit Last update
src
.gitignore
.gitlab-ci.yml
README.md
pom.xml

Développement REST - tests et accès à la base de données

Pour ce TP, nous allons développer la ressource de gestion de tâches que vous avez utilisée pour le TP HTTP.

Le code récupéré

L'arborescence de source contient les fichiers suivants :

src/
├── main
│   ├── java
│   │   └── fr
│   │       └── ulille
│   │           └── iut
│   │               └── todo
│   │                   ├── BDDFactory.java
│   │                   ├── dao
│   │                   │   ├── TacheDAO.java
│   │                   │   ├── UUIDArgumentFactory.java
│   │                   │   └── UUIDArgument.java
│   │                   ├── DebugMapper.java
│   │                   ├── dto
│   │                   │   └── CreationTacheDTO.java
│   │                   ├── Main.java
│   │                   ├── ressource
│   │                   │   ├── BDDClearRessource.java
│   │                   │   └── TodoRessource.java
│   │                   └── service
│   │                       ├── Tache.java
│   │                       └── TodoService.java
│   └── resources
│       └── logging.properties
└── test
    └── java
        └── fr
            └── ulille
                └── iut
                    └── todo
                        └── ressource
                            └── TodoRessourceTest.java

On peut constater un certain nombre de changements par rapport au TP précédent :

  1. L'arborescence de test comprend maintenant une classe de tests pour notre ressource
  2. Un paquetage dao a été ajouté qui contient le code lié à la gestion de la persistance
  3. Une classe BDDFactory est fournie qui gère la connexion à la base de donnée
  4. La configuration de l'affichage des logs est maintenant géré par un fichier de configuration externe logging.properties

Un petit test manuel pour démarrer...

Avant de commencer à compléter le code fournit, nous allons tester un petit peu :

Dans un terminal, lancez le serveur avec la commande mvn compile exec:java.

Dans un autre terminal, essayez la commande suivante pour créer une tâche : curl -i -H "Content-Type: application/json" -d '{"nom": "tâche 1", "description": "tester la création"}' http://localhost:8080/api/v1/taches.

Vous devriez obtenir le résultat suivant :

HTTP/1.1 201 Created
Location: http://localhost:8080/api/v1/taches/4ba24fd7-5856-4678-8f9e-84802e3334dd
ETag: "1387196213"
Content-Type: application/json
Content-Length: 98

{"description":"tester la création","id":"4ba24fd7-5856-4678-8f9e-84802e3334dd","nom":"tâche 1"}

Une requête pour obtenir la liste des tâches vous confirmera que votre tâche est bien conservée de manière persistante :

$ curl -i http://localhost:8080/api/v1/taches

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 100

[{"description":"tester la création","id":"4ba24fd7-5856-4678-8f9e-84802e3334dd","nom":"tâche 1"}]