Emilio J. Gomez
Buscar en moleculax
REST Cliente - Controlador - Repositorio - Servicio - Modelo

 

1️⃣ Cliente

  • Qué es: Es quien hace la solicitud a tu aplicación REST.

  • Ejemplos: Un navegador web, una app móvil, Postman, u otra aplicación que consuma tu API.

  • Función: Envía peticiones HTTP (GET, POST, PUT, DELETE) y recibe respuestas JSON o XML.

  • Analogía: Es como un cliente que pide un producto en una tienda.


2️⃣ Controlador (Controller)

  • Qué es: Es la capa que recibe las solicitudes del cliente.

  • Función:

    • Escucha rutas específicas (URLs) de la API.

    • Llama al servicio para realizar la lógica del negocio.

    • Devuelve la respuesta al cliente.

  • Ejemplo:

@RestController @RequestMapping("/usuarios") public class UsuarioController { @Autowired private UsuarioService usuarioService; @GetMapping("/{id}") public Usuario obtenerUsuario(@PathVariable Long id) { return usuarioService.obtenerUsuarioPorId(id); } }
  • Aquí, cuando el cliente pide /usuarios/1, el controlador llama al servicio para obtener el usuario con ID 1.


3️⃣ Modelo (Model)

  • Qué es: Representa los datos de tu aplicación.

  • Función:

    • Define la estructura de tus objetos, que usualmente se mapean a una base de datos.

    • Puede incluir clases como Usuario, Producto, Pedido, etc.

  • Ejemplo:

@Entity public class Usuario { @Id private Long id; private String nombre; private String email; // getters y setters }
  • Es básicamente tu "molde" de datos.


4️⃣ Servicio (Service)

  • Qué es: La capa donde resides la lógica del negocio.

  • Función:

    • Procesa información.

    • Valida datos.

    • Decide qué hacer con los datos antes de enviarlos al repositorio o al controlador.

  • Ejemplo:

@Service public class UsuarioService { @Autowired private UsuarioRepository usuarioRepository; public Usuario obtenerUsuarioPorId(Long id) { return usuarioRepository.findById(id).orElse(null); } }
  • Es como el “cerebro” que decide cómo manejar la información.


5️⃣ Repositorio (Repository)

  • Qué es: La capa que interactúa directamente con la base de datos.

  • Función:

    • Guardar, actualizar, eliminar y buscar datos.

    • Normalmente usa un ORM como Hibernate en Java.

  • Ejemplo:

@Repository public interface UsuarioRepository extends JpaRepository<Usuario, Long> { }
  • Aquí, no necesitas escribir SQL directamente; Spring Data lo hace por ti.


🔄 Cómo fluye todo junto en REST

  1. Cliente hace una petición (GET/POST/PUT/DELETE).

  2. Controlador recibe la petición y llama al servicio.

  3. Servicio aplica la lógica de negocio y llama al repositorio si necesita datos de la base.

  4. Repositorio obtiene o guarda los datos en la base.

  5. Servicio procesa los resultados y los devuelve al controlador.

  6. Controlador envía la respuesta al cliente en JSON o XML.

.

Wikipedia

Resultados de la búsqueda

agenda 2023 (1) Algo que leer (257) Android (2) Angular (2) Apache (4) API (1) Arte y Cultura (11) Artes Marciales (10) Banner (1) Base de datos (29) Big Data (11) Budismo (4) cabala judia (2) Calculo Asistido por computadoras (2) Canaima (6) Caos (1) Ceo (1) ciencias (1) Cine (1) Cobol (1) Cobra Kai (1) Codigo Linux Documental (2) Computación (3) Computación forense (14) Configurando Samba (1) Consola (8) Criptomonedas (3) Darkweeb (3) Data Mining (1) Debian (1) DeepWeb (7) demografia (6) Deporte y Recreación (9) Deportes (10) Desktop (1) developers (1) Document (1) Ecología (6) Editor (2) Educacion y TIC (27) Electronica (2) Emprendimiento (7) Espiritualidad (2) Eventos (2) Excel (1) Express (1) Filosofía (23) Flisol 2008 (3) Flisol 2010 (1) Flisol 2015 (1) framework (1) Funny (1) Geografía (1) Gerencia y Liderazgo (72) Gestor de Volúmenes Lógicos (1) Git (5) GitHub (6) gnu (23) Go (1) gobiernos (1) golang (2) Google por dentro (1) GraphQL (1) gRPC (1) Hackers - Documental (8) Hacking (30) howto (188) html (1) IA (6) IntelliJIDEA (1) Internet (6) Introducción a los patrones (2) J SON (1) java (31) java eclipse (2) javaScript (8) JDK (1) jiujitsu (4) Json (1) kali (37) kernel (2) Kotlin (1) Laravel (2) Latin (1) LIbreOffice (1) Libros (4) Linux (34) Linux VirtualBox (1) Literatura (1) Manuales (42) Marketing (1) Matando ladilla (9) Matematricas (1) Math (1) maven (1) metodos https (1) Modelos (1) MongoDB (17) Multimedia (1) mvc (2) Mysql (19) MySQL Workbench (1) Nagios (2) Naturismo (1) node (2) Node.js (3) NodeJS (6) NoSQL (1) Oracle (3) Oracle sql (3) Php (1) PL/SQL (1) Plsql (1) PNL (1) Poblacion (2) Poesia (1) Politica (1) Política (1) Postgresql (1) PowerShell (1) programacion (66) Psicologia (8) Python (4) Redes (31) Religion (2) REST (2) Rock/Metal Mp3 (1) RUP (1) Salud (5) sc:snap:android-studio (1) sc:snap:datagrip (1) sc:snap:gitkraken linux (1) Seguridad (14) Seguridad con Gnu Privacy (2) Seo (1) simulaEntrevistas (9) Sistemas Operativos (69) SOAP (1) Sociedad (2) Software Libre (169) Soporte Tecnico (12) Sphinx (1) spring (1) spring boot (8) SQL (3) SQL en postgreSQL (38) Taekwondo (11) Tecnología (27) Tor (9) Trialectica (3) TYPEACRIPT (1) Ubuntu (5) Vida activa (1) Videos (11) Videos Educativos (10) Vim (1) Viral (3) Visual Studio (1) wallpaper (2) Wifi (2) Windows (3) WWW (2) Xrandr (1)

Powered by