Ich lerne JAX-RS (auch bekannt als JSR-311) mit Jersey. Ich habe erfolgreich eine Root-Ressource erstellt und spiele mit Parametern herum:
@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
}
}
Dies funktioniert hervorragend und verarbeitet alle Formate im aktuellen Gebietsschema, die vom Konstruktor Date (String) verstanden werden (z. B. JJJJ / MM / TT und MM / TT / JJJJ). Wenn ich jedoch einen Wert gebe, der ungültig ist oder nicht verstanden wird, erhalte ich eine Antwort 404.
Beispielsweise:
GET /hello?name=Mark&birthDate=X
404 Not Found
Wie kann ich dieses Verhalten anpassen? Vielleicht ein anderer Antwortcode (wahrscheinlich "400 Bad Request")? Was ist mit der Protokollierung eines Fehlers? Fügen Sie möglicherweise eine Beschreibung des Problems ("schlechtes Datumsformat") in einen benutzerdefinierten Header ein, um die Fehlerbehebung zu erleichtern. Oder eine vollständige Fehlerantwort mit Details und einem 5xx-Statuscode zurückgeben?