Spring Rest

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

Spring Rest

Agenda

Protocolo HTTP
APIs y sus tipos
REST
Dependencias de Spring Rest
Anotaciones de Spring Rest
HTTP (Hypertext Transfer Protocol)

Es el nombre de un protocolo el cual nos permite realizar una petición de datos y recursos,
como pueden ser documentos HTML, imágenes, archivos, videos, …

GET: Consultar información


Métodos HTTP POST: Actualización, inserción o eliminación de registros
PUT: Creación o actualización de nuevos elementos
DELETE: Eliminar elementos
Códigos de respuesta HTTP
200 -299 Petición exitosa
300 -399 Redirección
400 – 499 Error del lado del cliente del servidor
500 – 599 Error del lado del servidor

Consulta o actualización exitosa: 200


Registro creado: 201
Eliminar un registro: 204
Códigos mas Solicitud incorrecta: 400
comunes Recurso solicitado no existe: 404
Método no permitido: 405
Error en el servidor: 500
Funcionalidad no implementada: 501
Servicio no disponible: 503
API (Interfaz de programación de aplicaciones)

Son mecanismos que permiten a dos componentes de software comunicarse entre sí


mediante un conjunto de definiciones y protocolos.

API de SOAP: Cliente - servidor (formato XML, tamaño considerable


de mensajes, en proceso de depreciación)
Tipos API de RPC: Terminales remotas, monitoreo remoto, ..
API de WebSocket (permite comunicación bidireccional, ejemplo:
salas de chat )
API de REST: Cliente - servidor (formato JSON, ligeras y las mas
populares, …)
REST

Es una arquitectura de software que impone condiciones sobre cómo debe funcionar una API.
Sus características son:
Tecnología sin estado: Cada solicitud es independiente, se pueden solicitar en cualquier orden.
Sistema por capas: Cliente servidor.
Almacenamiento en cache.

Los desarrolladores de API pueden diseñar API por medio de varias arquitecturas
diferentes. Las API que siguen el estilo arquitectónico de REST se llaman API REST
REST
Principales anotaciones

@RestController: Marcar un componente como un controlador y permite retornar un


@ResponseBody.
@RequestMapping: Permite mapear un método de Java para que sea manejado como un método
de un controlador. Métodos del @Controller: @GetMapping, @PostMapping, @PutMapping,
@DeleteMapping
@PathVariable: Es usada para manejar las variables de una petición y establecerlos como
parámetros de un método.
@RequestParam: Permite obtener, formularios, archivos y establecerlos como parámetros de un
método.
@ResponseStatus: Permite definir el código de retorno (200, 201, ..) o tipo de excepción.
@Service: Es un tipo especifico de controlador en donde se establece la lógica de Negocio
Estructura básica de un proyecto REST
Controladores:
Informan si la petición fue exitosa o no.
Regresan un código del estado de la petición
Regresan datos en caso de aplicar.

Servicios
Manejan la lógica de negocios.
Solicitan y procesan información con el apoyo del modelo de datos.
Pueden solicitar información a otros servicios.
Generan bitácoras.

Repositorio de datos
Mapean el modelo.
Generan, consultan, actualizan o eliminan información del modelo.
Flujo de una petición REST
Práctica
Formar equipo de 4 personas.
Comprar un dulce de la cafetería simulado que las 4 personas son un servicio REST.
1 Persona será el controlador.
1 persona será el servicio.
2 personas serán el modelo de datos.
Describir las actividades de cada uno (diagrama de flujo).

EL DULCE NO SE PUEDE REPETIR.


Primeros 3 equipos en terminar gana 3 decimos cada uno.
Equipos restantes solo ganan 1 decimo.
Practica (tiempo 20 minutos)

Sentaran los 4 personas juntas por equipo


Asignan roles a cada persona
Realizan su diagrama de flujo
Pasan al pizarrón anotar el nombre del equipo.
Expondrán su diagrama de flujo (sólo una persona)

También podría gustarte