taiage-spring/src/main/java/es/tatvil/taiageweb/controlador/WebController.java

64 lines
1.7 KiB
Java

package es.tatvil.taiageweb.controlador;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
/**
* Controlador MVC que sirve las páginas principales del sitio a través de Thymeleaf.
*
* <p>Todas las rutas devuelven el nombre de la plantilla correspondiente en
* {@code src/main/resources/templates/}. Spring Security controla qué rutas
* son accesibles sin autenticación.</p>
*/
@Controller
public class WebController {
/**
* Página de inicio.
*
* @return nombre de la plantilla {@code index}
*/
@GetMapping({"/", "/inicio"})
public String inicio() { return "index"; }
/**
* Página de inicio de sesión.
*
* @return nombre de la plantilla {@code login}
*/
@GetMapping("/login")
public String login() { return "login"; }
/**
* Visor del temario del curso (requiere {@code ROLE_PAGADO} o {@code ROLE_ADMIN}).
*
* @return nombre de la plantilla {@code curso}
*/
@GetMapping("/curso")
public String curso() { return "curso"; }
/**
* Navegador de legislación; acceso público.
*
* @return nombre de la plantilla {@code leyes}
*/
@GetMapping("/leyes")
public String leyes() { return "leyes"; }
/**
* Agregador de noticias INAP/BOE; acceso público.
*
* @return nombre de la plantilla {@code noticias}
*/
@GetMapping("/noticias")
public String noticias() { return "noticias"; }
/**
* Página de acceso denegado (HTTP 403).
*
* @return nombre de la plantilla {@code acceso-denegado}
*/
@GetMapping("/acceso-denegado")
public String accesoDenegado() { return "acceso-denegado"; }
}