@@ -114,11 +114,11 @@ Si vous regardez le code de la classe `Tache`, vous constaterez que nous avons c
...
@@ -114,11 +114,11 @@ Si vous regardez le code de la classe `Tache`, vous constaterez que nous avons c
Dans la mesure où nous allons maintenant avoir des tests, ce développement se fera en TDD.
Dans la mesure où nous allons maintenant avoir des tests, ce développement se fera en TDD.
## Définition de l'API pour notre gestion des tâches
## Définition de l'API pour notre gestion des tâches
Notre ressource sera accessible via le chemin `/api/v1`. Le tableau ci-dessous liste les URI et les méthodes supportées par notre ressource ainsi que les représentation utilisés (au format JSON).
Notre ressource sera accessible via le chemin `/api/v1`. Le tableau ci-dessous liste les URI et les méthodes supportées par notre ressource ainsi que les représentation utilisées (au format JSON).
| /taches/{id} | GET | <-application/json<br><-application/xml | | la tâche (T2) |
| /taches/{id} | GET | <-application/json<br><-application/xml | | la tâche (T2) |
| /taches/{id} | PUT | <-/->application/json | tâche (T2) | la nouvelle tâche (T2) |
| /taches/{id} | PUT | <-/->application/json | tâche (T2) | la nouvelle tâche (T2) |
...
@@ -136,6 +136,8 @@ Le format de tâche complet (T2) correspond à ce type de représentation :
...
@@ -136,6 +136,8 @@ Le format de tâche complet (T2) correspond à ce type de représentation :
{"description":"une description", "id":"4ba24fd7-5856-4678-8f9e-84802e3334dd", "nom":"un nom de tâche"}
{"description":"une description", "id":"4ba24fd7-5856-4678-8f9e-84802e3334dd", "nom":"un nom de tâche"}
~~~
~~~
Après avoir défini notre API, nous allons progressivement implémenter toutes les méthodes indiquées.
## Récupérer une tâche
## Récupérer une tâche
Nous pouvons déjà lancer les tests pour voir ce qu'il se passe : `mvn test`.
Nous pouvons déjà lancer les tests pour voir ce qu'il se passe : `mvn test`.
...
@@ -166,4 +168,7 @@ Le test en erreur correspond à la fonctionnalité à développer :
...
@@ -166,4 +168,7 @@ Le test en erreur correspond à la fonctionnalité à développer :
Pour ce test, nous créons un objet `Tache` qui est ensuite directement inséré dans la base grâce au DAO. Nous utilisons ensuite l'API [Client](https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest3x/client.html) pour faire notre requête `GET`. Pour simplifier le développement des tests, nous utilisons les [classes de test de Jersey](https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest3x/test-framework.html).
Pour ce test, nous créons un objet `Tache` qui est ensuite directement inséré dans la base grâce au DAO. Nous utilisons ensuite l'API [Client](https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest3x/client.html) pour faire notre requête `GET`. Pour simplifier le développement des tests, nous utilisons les [classes de test de Jersey](https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest3x/test-framework.html).
Vous pouvez maintenant développer la méthode correspondante dans la classe `TodoRessource`.
Vous pouvez compléter notre classe de test en implémentant la méthode `get_with_wrong_id_should_return_404()`
Ensuite, vous pouvez passer au développement de la méthode répondant au `GET` sur l'URI `/taches/{id}` dans la classe `TodoRessource`.