Dies ist, was ich überlege, auf einem JEE Glassfish-Server mit Jersey zu tun.
@GET
@Path("/{name}/{date}")
public String getMessages(@PathParam("name") String name, @PathParam("date") Date date)
Ich mag die Idee, Leuten, die diesen RESTful-Webservice nutzen, mitteilen zu können, dass "das Datum hier alles ist, was mit der Date-Klasse in Java funktioniert". Das ist vom Standpunkt aus ziemlich einfach: Sie können sich nur die Datumsspezifikation ansehen und haben bereits ein funktionierendes Modell, mit dem sie testen können.
Das Problem, über das ich mir Sorgen mache, ist, dass JAX-RS dabei nicht sehr schön ist, wenn Date () nicht mag, was es im Konstruktor bekommt. Da Date () einen Fehler auslöst, wenn es nicht analysieren kann, was es gegeben hat (z. B. wenn Sie die Zeichenfolge "heute" anstelle eines echten Datums übergeben), gibt der JEE-Server einen 404-Fehler zurück.
Ist das eine gute Praxis? Gibt es einen besseren Weg, dies zu tun, an den ich nicht denke?
DateTimeFormatter
. Für Java <= 7 würde ich einThreadLocal