Questo è quello che sto pensando di fare su un server JEE Glassfish usando Jersey.
@GET
@Path("/{name}/{date}")
public String getMessages(@PathParam("name") String name, @PathParam("date") Date date)
Mi piace l'idea di poter dire alle persone che consumano questo servizio web RESTful che "La data qui è tutto ciò che funziona con la classe Date in Java". È piuttosto semplice dal punto di vista del fatto che possono semplicemente guardare le specifiche della data e avranno già un modello funzionante con cui possono testare.
Il problema di cui sono preoccupato è che quando lo faccio, JAX-RS non è molto carino quando Date () non piace ciò che ottiene nel costruttore. Dato che Date () genera un errore se non è in grado di analizzare ciò che viene fornito (come se si passa la stringa "oggi" anziché una data reale), il server JEE restituisce un errore 404.
È una buona pratica? C'è un modo migliore per farlo che non sto pensando?
DateTimeFormatter
. Per Java <= 7,ThreadLocal