É isso que estou pensando em fazer em um servidor JEE Glassfish usando Jersey.
@GET
@Path("/{name}/{date}")
public String getMessages(@PathParam("name") String name, @PathParam("date") Date date)
Eu gosto da idéia de poder dizer às pessoas que consomem esse serviço web RESTful que "A data aqui é qualquer coisa que funcione com a classe Date em Java". Isso é bastante simples do ponto de vista de que eles podem apenas olhar para a especificação Date e já terão um modelo de trabalho com o qual podem testar.
O problema que me preocupa é que, quando faço isso, o JAX-RS não é muito bom quando Date () não gosta do que recebe no construtor. Como Date () gera um erro se não puder analisar o que foi fornecido (como se você passar a string "today" em vez de uma data real), o servidor JEE retornará um erro 404.
Esta é uma boa prática? Existe uma maneira melhor de fazer isso em que não estou pensando?
DateTimeFormatter
. Para Java <= 7, eu usaria umThreadLocal