C'est ce que je pense faire sur un serveur JEE Glassfish en utilisant Jersey.
@GET
@Path("/{name}/{date}")
public String getMessages(@PathParam("name") String name, @PathParam("date") Date date)
J'aime l'idée de pouvoir dire aux gens qui consomment ce service Web RESTful que "La date ici est tout ce qui fonctionne avec la classe Date en Java". C'est assez simple du point de vue qu'ils peuvent simplement regarder la spécification Date, et ils auront déjà un modèle de travail avec lequel ils pourront tester.
Le problème qui m'inquiète est que lorsque je fais cela, JAX-RS n'est pas très agréable lorsque Date () n'aime pas ce qu'il obtient dans le constructeur. Puisque Date () renvoie une erreur s'il ne peut pas analyser ce qui lui est donné (comme si vous lui passez la chaîne "aujourd'hui" au lieu d'une date réelle), le serveur JEE renvoie une erreur 404.
Est-ce une bonne pratique? Y a-t-il une meilleure façon de faire cela à laquelle je ne pense pas?
DateTimeFormatter
. Pour Java <= 7, j'utiliserais unThreadLocal