2010-09-14 10 views
0

L'une des exigences d'un service Web sur lequel je travaille est la suivante: si un nom de paramètre de requête est incorrect ou non conforme à la casse, cela devrait donner une erreur.Comment faire pour sortir l'erreur du contrôleur Spring MVC si un paramètre de requête n'est pas valide ou avec un cas différent?

Y at-il quelque chose dans Spring MVC qui peut le faire via une configuration ou un type de paramètre? J'imagine que c'est possible de le coder, mais je pense que ce serait beaucoup plus laid.

+0

cela pourrait répondre à votre question http://stackoverflow.com/questions/2586738/spring-3-0-mvc-client-validation –

Répondre

1

La façon dont je le fais est d'écrire une classe de base qui définit des méthodes pour obtenir des paramètres de requête obligatoires et facultatifs. Ceux-ci jettent des exceptions qui sont interceptées (encore) dans la classe de base et transformées en réponses 400.

Je ne voudrais pas essayer de diagnostiquer les paramètres de requête dont le nom n'est pas reconnu/a le mauvais cas. Les noms des paramètres de requête sont généralement câblés en HTML, Javascript, etc. écrits par les développeurs. Ils devraient être en mesure de savoir ce qui est valide en lisant la documentation web-api. Une fois qu'ils ont débogué leur code, tout code spécial dans la servlet pour récupérer les paramètres inattendus est juste une surcharge d'exécution.

+0

Ouais, je ne suis pas vraiment sûr pourquoi le comportement est désiré - je ne sais pas Je pense que beaucoup de services REST s'en soucient. Peut-être que je peux les dissuader de le vouloir. Merci. – AHungerArtist