Je suis en train d'apprendre 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?