Un controlador en Spring Boot es una clase Java anotada con @Controller o
@RestController que actúa como intermediario entre las solicitudes HTTP
entrantes y la lógica de negocio de la aplicación. Su función principal es recibir la
petición del cliente, procesar la entrada, interactuar con los servicios (modelo) y
devolver una respuesta adecuada (como una vista HTML o datos JSON)
@RequestMapping es una anotación de propósito general que maneja todos los
métodos HTTP (GET, POST, PUT, DELETE, etc.) por defecto.
@GetMapping es un atajo especializado específicamente para solicitudes HTTP
GET. Es una anotación compuesta que se define internamente como
@RequestMapping(method = [Link]).
En Spring Boot, las clases "Model" representan los datos que se pasan entre el
controlador y la vista (en MVC) o la estructura de los objetos que se persistirán en
la base de datos (Entidades)
Una API REST (Representational State Transfer) es una interfaz que permite la
comunicación entre sistemas de software a través de la web, utilizando el
protocolo HTTP. Es un estilo de arquitectura que sigue reglas simples para
intercambiar datos —usualmente en formato JSON— entre un cliente (como una
app móvil) y un servidor, siendo fundamental para aplicaciones modernas,
escalables y eficientes
En Spring MVC, @ModelAttribute es una anotación que se utiliza para vincular un
parámetro de método o un valor de retorno de método a un atributo de modelo con
nombre, exponiéndolo a la vista web. Cumple dos propósitos principales: rellenar
el modelo antes de que se procese una solicitud (precarga de datos) y vincular los
datos de la solicitud entrante (campos de formulario, parámetros de consulta) a un
objeto.
La anotación @RequestParam en Spring MVC/Boot se utiliza para extraer
parámetros de consulta (query parameters) o datos de formularios enviados en
una solicitud HTTP. Es ideal para filtrar datos o recibir entradas opcionales que
aparecen después del signo ? en una URL (ej. /user?id=123). Permite configurar
valores por defecto, marcar parámetros como obligatorios u opcionales, y
vincularlos directamente a los argumentos de un método.