Una plantilla de Java 1.8 basada en Spark para el desarrollo de un servicio Web siguiendo el paradigma MVC.
Esta plantilla es un esqueleto que provee de las siguientes clases:
App
es la clase que arranca el sistema, no cambiarle el nombre.AppUtils
ofrece una serie de métodos estáticos, los más relevantes son:shouldReturnHtml
que devuelve true si el usuario desde el cliente/navegador pidió una vista basada en HTML, yshouldReturnJson
que devuelve true si el usuario desde el cliente/navegador pide una vista basada en Json. Para pedir los distintos tipos de vistas se usa la cabeceraAccept
dandole un valortext/html
para pedir HTML oapplication/json
para pedir Json.ViewRender
es una interfaz que será implementada por clases que renderizan el codigo, si durante este proceso ocurriese un error, la excepciónRenderTemplateException
es lanzada.VelocityRender
yFreemarkerRender
implementanViewRender
, la primera para renderizar plantillas HTML utilizando Velocity y la segunda Freemarker. Las plantillas de Velocity tienen que almacenarse en./src/test/resources
y las de Freemarker en./src/test/resources/spark/template/freemarker
. Aunque se dan dos renderizadores, para implementar un sistema es suficiente con usar una de ellas.