diff --git a/README.md b/README.md index 4688beb77b036d05ccc53ae61fb7e99c08610509..53d647aa7a267dc79ae7c4e159af59b877ca9f1a 100644 --- a/README.md +++ b/README.md @@ -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). | URI | Méthode | MIME | Requête | Réponse | |--------------------------|---------|--------------------------------------------------------------------------------------------|------------|----------------------| @@ -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. +