JAX-RS / Jersey comment personnaliser erreur de manipulation?

Je suis en apprentissage de JAX-RS (aka, la JSR-311) à l'aide de Jersey. J'ai réussi à créé une Racine de Ressources et je suis à jouer avec les paramètres:

@Path("/hello")
public class HelloWorldResource {

    @GET
    @Produces("text/html")
    public String get(
        @QueryParam("name") String name,
        @QueryParam("birthDate") Date birthDate) {

         //Return a greeting with the name and age
    }
}

Cela fonctionne très bien, et prend en charge n'importe quel format dans la locale courante qui est compris par la Date(String) constructeur (YYYY/mm/jj mm/jj/AAAA). Mais si je fournir une valeur qui n'est pas valide ou n'a pas compris, je reçois une réponse 404.

Par exemple:

GET /hello?name=Mark&birthDate=X

404 Not Found

Comment puis-je personnaliser ce comportement? Peut-être une autre réponse code (probablement "400 Bad Request")? Ce sujet de l'enregistrement d'une erreur? Peut-être ajouter une description du problème ("mauvais format de date") dans un en-tête personnalisé à l'aide de dépannage? Ou de retourner un ensemble de réponse d'Erreur avec les détails, avec un 5xx code d'état?

InformationsquelleAutor Mark Renouf | 2009-02-24