Con la introducción de las nuevas clases de java.time en Java 8 podemos encontrarnos con la conveniencia de querer utilizarlas como parámetros en algunos métodos REST de nuestra API JAX-RS.
A continuación muestro un ejemplo real de una aplicación en la que utilizo dos tipos de java.time como parámetros de puntos REST. Concretamente las clases LocalDate y MonthDay.
Para añadir el soporte tan sólo tenemos que registrar un proveedor JAX-RS que implemente la interfaz ParamConverterProvider.
La clase TimeUtils es una clase propia que utilizo para encapsular algunos métodos extra relaciones con java.time. Las partes interesantes son estas:
De la anterior clase la parte más notable es un pequeño hackeo para soportar correctamente las fechas en Javascript tal como se indica en el comentario. Dichas fechas se codifican siempre con el mismo formato relativo a UTC independientemente de la zona horaria local. Así que si queremos convertirlo a un LocalDate debemos suponer alguna zona horaria. En el caso de esta aplicación no habia soporte para zonas horarias y todo funcionaba en la misma, clientes y servidor, así que de ahí el uso de la zona de sistema.