@@ -114,7 +114,7 @@ Si vous regardez le code de la classe `Tache`, vous constaterez que nous avons c
...
@@ -114,7 +114,7 @@ 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ées (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 types MIME acceptés (->) et produits (<-) par la ressource. A la suite, vous trouverez une définition des représentations utilisées (au format JSON).
@@ -208,3 +208,17 @@ Commencez par implémenter les tests liés à la récupération de la descriptio
...
@@ -208,3 +208,17 @@ Commencez par implémenter les tests liés à la récupération de la descriptio
~~~
~~~
Vous pouvez ensuite implémenter la méthode permettant de récupérer la description dans la ressource et vérifier que les tests passent.
Vous pouvez ensuite implémenter la méthode permettant de récupérer la description dans la ressource et vérifier que les tests passent.
## Créer une tâche à partir d'un formulaire
La création de tâche fonctionne avec un objet JSON en entrée. On souhaite également la rendre possible à partir d'un formulaire.
Commencez par implémenter la méthode de test ` public void post_with_form_data_should_return_201_location_and_task()`. La classe [Form](https://eclipse-ee4j.github.io/jaxrs-api/apidocs/3.0.0/jakarta/ws/rs/core/Form.html) devrait vous être utile.
Implémentez ensuite la méthode correspondante de la ressource :
~~~java
public Response createTacheFromForm(MultivaluedMap<String, String> formParams) {}
~~~
On pourrait identifier individuellement les différents paramètres de formulaire avec l'annotation `@FormParam`, ce qui nous donnerait la méthode `public Response createTacheFromForm(@FormParam("nom") String nom, @FormParam("description") String description)`. Ici, on va utiliser [MultivaluedMap](https://eclipse-ee4j.github.io/jaxrs-api/apidocs/3.0.0/jakarta/ws/rs/core/MultivaluedMap.html) qui sera initialisé par Jersey avec les différentes paires clé-valeur transportées dans la requête HTTP.