Esto es lo que estoy pensando hacer en un servidor JEE Glassfish usando Jersey.
@GET
@Path("/{name}/{date}")
public String getMessages(@PathParam("name") String name, @PathParam("date") Date date)
Me gusta la idea de poder decirle a las personas que consumen este servicio web RESTful que "La fecha aquí es cualquier cosa que funcione con la clase Date en Java". Eso es bastante simple desde el punto de vista de que solo pueden mirar la especificación de Fecha, y ya tendrán un modelo de trabajo con el que pueden probar.
El problema que me preocupa es que cuando hago esto, JAX-RS no es muy agradable cuando a Date () no le gusta lo que obtiene en el constructor. Dado que Date () arroja un error si no puede analizar lo que se proporciona (como si le pasa la cadena "hoy" en lugar de una fecha real), el servidor JEE devuelve un error 404.
¿Es esta una buena practica? ¿Hay una mejor manera de hacer esto que no estoy pensando?
DateTimeFormatter
. Para Java <= 7, usaría unThreadLocal