@@ -154,6 +154,41 @@ Ajoutez cette méthode à votre classe puis testez la avec `curl`.
Ajoutez (et testez) à votre ressource une méthode `getMontantTotal` qui renverra le montant tva comprise pour un niveau de tva indiqué sur le chemin d'URI et une somme définie en paramètre de requête (par ex. `http://localhost:8080/api/v1/tva/reduit?somme=100`).
### Gérer les erreurs
Notre ressource renvoie correctement les informations demandées... tant que nos requêtes sont correctes. Essayez cette requête : `curl -i http://localhost:8080/api/v1/tva/valeur/inexistant`.
Le résultat n'est pas terrible. Pour gérer cela proprement, nous allons devoir renvoyer une erreur qui a du sens pour le client. Nous allons modifier la méthode `getValeurTaux` de manière à réagir à un niveau de TVA inconnu.
super(Response.status(Response.Status.NOT_ACCEPTABLE).entity("Niveau de TVA inexistant").build());
}
~~~
On aurait pu se contenter de lever `NotAcceptableException` directement dans la méthode `getValeurTaux`, ce qui aurait renvoyé un code 406. La création de cette exception va nous permettre d'enrichir la réponse et notamment ici d'ajouter un message d'erreur dans le corps (_entity_) de la réponse.
### Renvoyer des données plus complexes
Jusqu'à maintenant, nous avons transmis de simples valeurs numériques prises en charge directement par Jersey dans le corps de la réponse HTTP. Jersey peut faire la même chose avec des classes Java qui respectent les conventions [`JavaBean`](https://fr.wikipedia.org/wiki/JavaBeans), à minima :
- la classe possède un constructeur sans paramètres (constructeur par défaut);