¿Cómo fluye una petición por Spring MVC?
Opciones
- El navegador llama directamente al método del controlador
DispatcherServletasigna la petición a un controlador (Opción correcta)- La base de datos recibe primero la petición y la reenvía
- La petición se guarda en una cola y se procesa más tarde
Respuesta
El servidor embebido (Tomcat) la recibe, el DispatcherServlet (front controller) la asigna a un método de controlador, que llama a los servicios; el resultado se convierte a JSON y se devuelve
Por qué
- El servlet container embebido (Tomcat) recibe la petición HTTP.
- Se ejecutan los filtros (seguridad, logging).
- El
DispatcherServletes el único punto de entrada: encuentra qué método de controlador gestiona esa URL y ese método HTTP. - Se resuelven los argumentos (
@PathVariable,@RequestBodycon Jackson) y se ejecuta el controlador, que llama a servicios y repositories. - El valor devuelto se convierte (normalmente a JSON) y se escribe en la respuesta; las excepciones van a
@ControllerAdvice.
Recuerda
Tomcat, filtros, DispatcherServlet, controlador, servicio, repository.