From 285c073a984776b562fdeff3dda69111aea97c5a Mon Sep 17 00:00:00 2001 From: Yvan Peter <yvan.peter@univ-lille.fr> Date: Sun, 7 Feb 2021 18:27:35 +0100 Subject: [PATCH] =?UTF-8?q?M=C3=A9thode=20POST=20de=20formulaire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4688beb..53d647a 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. + -- GitLab