Ensayo general tecnologia
Enviado por gplrlrlr • 26 de Junio de 2022 • Apuntes • 621 Palabras (3 Páginas) • 46 Visitas
Página 1 de 3
API REST 🡪 es un tipo de servicio web que se basa en los elementos del protocolo HTTP
REST 🡪 REpresentational State Transfer
Roy Fielding 🡺 HTTP
[pic 1]
- API REST es un servicio de red que ofrece operaciones CRUD (creación, lectura, actualización y borrado) sobre recursos (ítems de información)
- Nivel 2 API REST: HTTP Verbs
- URI referencia a uno o más recursos
- Las operaciones que se quieren realizar con ese recurso son los métodos del protocolo HTTP
- Se usan los códigos de estado HTTP para notificar errores
URI referencia a uno o más recursos
- Deben seguir un formato muy concreto
- Parte de la URL identifica el tipo de recurso (en plural) y otra parte es el identificador del recurso concreto
- Ejemplos: https://server//posts/vento-moto-23-10-2014
- Cuando un recurso está asociado a otro recurso se pueden poner ambos en la URL
- Los parámetros de la URL se pueden usar para filtrar el conjunto
- La URI esta formada por nombres no verbos
Las operaciones que se quieren realizar con ese recurso son los métodos del protocolo HTTP
- GET : Devuelve el recurso (o recursos) identificado en la URI
- DELETE : Borra el recurso identificado en la URI
- POST : Añade un nuevo recurso. El recurso se envia en el cuerpo de la petición
- PUT : Reemplaza el recurso identificado en la URI. El nuevo recurso se envia en el cuerpo de la petición
- PATCH : Actualizar el recurso identificado en la URI . Los cambios se envían en el cuerpo de la petición
Se usan los códigos de estado HTTP para notificar errores
- 100-199: No están definidos. Describen fases de ejecución de la petición.
- 200-299: La petición fue procesada correctamente
- 300-399: El cliente debe hacer acciones adicionales para completar la petición , pj Un redireccionamiento de pagina
- 400-499: Se usa en casos en los que el cliente ha realizado la petición incorrectamente ¨(404 no existe)
- 500-599: Se usa cuando se produce un error procesando la petición
LOS RECURSOS SE REPRESENTAN EN JSON 🡺 Menos frecuentes xml or Protocol Buffers
- JavaScript Object Notation
- Facil mapeo a objetos en memoria
- Representa objetos del dominio del servicio
[pic 2]
CLIENTES DE APIs REST
- Las API.R 🡺 Utilizadas x apps , no humanos
- Todos lenguajes de prog disponen de librerías para uso de API.R ( JavaScript, Java…)
- Apps web con AJAX o SPA (implementadas con JS)
- API.R 🡪 API estándar del browser o librerías externas (jQuery)
API REST con Spring
- Para implementar una API.R con Spring se puede usar :
- JAX-RS
-- Estandar Java Enterprise Edition
-- Java API for RESTful Web Services
- Spring MVC
Ciclo de vida completa de un recurso
- Endpoints REST
- Creación : POST
- Consulta de un recurso : GET
- Consulta de varios recursos : GET
- Borrado : DELETE
- Actualización : PUT
- Devolver un recurso concreto (GET)
- Con @GetMapping se indica que el método atiende peticiones GET´
- Se devuelve un array con todos los recursos
- Si no hay recursos , el array se devuelve vacío
- Nuevo recurso (POST)
- Con @PostMapping se indica que el método atiende peticiones POST
- El cuerpo de la petición se obtiene con un parámetro anotado con @RequestBody
- Se devuelve el nuevo objeto al cliente (con un id)
- Borrar un recurso (DELETE)
- Con @DeleteMapping se indica que el método atiende peticiones DELETE
Factorizar URL mapping en el controller
- Cuando todas las URLs de un controlador empiezan de forma similar , se puede poner la anotación @RequestMapping a nivel de clase con la parte común
- Cada método sólo tiene que incluir la parte propia (si existe)
...
Disponible sólo en Clubensayos.com