@@ -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.
## 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
~~~
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.