FACULTAD DE CIENCIAS E INGENIERÍA
DEPARTAMENTO DE COMPUTACIÓN
Ingeniería en Sistemas de Información
Asignatura:
Programación Web I
Año Académico: 2024 Grupo: SI2V Semestre: II
API REST
Una API REST (Application Programming Interface Representational State Transfer) es un estilo de arquitectura
para diseñar interfaces de programación de aplicaciones (APIs) que permiten la comunicación entre sistemas a
través de protocolos web, como HTTP.
Principios clave de una API REST:
1. Recursos: En REST, los datos se consideran recursos, y cada recurso se identifica mediante una URL única.
Por ejemplo, en una API de gestión de usuarios, el recurso de un usuario específico podría ser identificado
por una URL como [Link]
2. Métodos HTTP: REST utiliza métodos estándar de HTTP para realizar operaciones sobre los recursos:
o GET: Recuperar un recurso o una colección de recursos.
o POST: Crear un nuevo recurso.
o PUT: Actualizar un recurso existente.
o DELETE: Eliminar un recurso.
3. Sin estado: Las llamadas a una API REST son sin estado, lo que significa que cada solicitud del cliente al
servidor debe contener toda la información necesaria para entender y procesar la solicitud. El servidor no
almacena ningún estado de la solicitud anterior.
4. Representaciones: Los recursos pueden tener múltiples representaciones, como JSON o XML, que se
transfieren entre el cliente y el servidor. El cliente y el servidor acuerdan el formato de los datos a través de
cabeceras HTTP.
5. Interfaz uniforme: REST establece una interfaz uniforme para la interacción con los recursos, facilitando la
comprensión y la interoperabilidad entre diferentes partes de la arquitectura.
Ejemplo de una API REST:
Imagina una API REST para un blog donde se pueden realizar las siguientes operaciones:
GET /articulos: Recuperar una lista de artículos.
POST /articulos: Crear un nuevo artículo.
GET /articulos/1: Recuperar los detalles del artículo con ID 1.
PUT /articulos/1: Actualizar el artículo con ID 1.
DELETE /articulos/1: Eliminar el artículo con ID 1.
1
Las APIs REST son muy comunes en el desarrollo de aplicaciones web y móviles debido a su simplicidad,
escalabilidad y flexibilidad.
La estructura de una API REST sigue ciertos principios y convenciones que permiten que sea intuitiva, fácil de usar y
escalable. Aquí te explico cómo se estructura:
1. Base URL
La Base URL es la dirección raíz de la API, sobre la cual se construyen todas las rutas para acceder a los recursos.
Por ejemplo:
[Link]
2. Recursos
Los recursos son los elementos o entidades a los que la API proporciona acceso, y cada recurso tiene su propia URL.
Los recursos suelen representarse en plural, como usuarios, articulos, productos, etc.
Ejemplo:
o [Link]
o [Link]
3. Métodos HTTP
Los métodos HTTP se utilizan para realizar diferentes operaciones sobre los recursos. Aquí te dejo los más
comunes:
GET: Recuperar uno o más recursos.
POST: Crear un nuevo recurso.
PUT: Actualizar un recurso existente (reemplazo completo).
PATCH: Actualizar parcialmente un recurso existente.
DELETE: Eliminar un recurso.
4. Rutas de Acceso
Las rutas se construyen a partir de la Base URL seguida por el recurso y, opcionalmente, un identificador único (ID)
del recurso.
Ejemplos:
o GET /usuarios: Recuperar la lista de usuarios.
o GET /usuarios/123: Recuperar los detalles del usuario con ID 123.
o POST /usuarios: Crear un nuevo usuario.
o PUT /usuarios/123: Actualizar el usuario con ID 123.
o DELETE /usuarios/123: Eliminar el usuario con ID 123.
5. Parámetros de consulta
Los parámetros de consulta se utilizan para filtrar, ordenar o paginar los resultados. Se agregan a la URL después de
un signo de interrogación ?.
Ejemplos:
o GET /usuarios?edad=30: Filtrar usuarios por edad.
o GET /usuarios?pagina=2&limite=10: Paginar la lista de usuarios (página 2, 10 usuarios por página).
o GET /productos?orden=precio_desc: Ordenar productos por precio descendente.
6. Códigos de Estado HTTP
Las API REST responden con códigos de estado HTTP para indicar el resultado de la solicitud:
2
200 OK: Solicitud exitosa.
201 Created: Recurso creado exitosamente (usado con POST).
204 No Content: Solicitud exitosa pero sin contenido que devolver (usado con DELETE).
400 Bad Request: Solicitud malformada o inválida.
401 Unauthorized: Falta de autenticación.
403 Forbidden: Falta de permisos.
404 Not Found: Recurso no encontrado.
500 Internal Server Error: Error en el servidor.
7. Formato de Respuesta
Las respuestas de una API REST suelen ser en formato JSON (JavaScript Object Notation) o XML, aunque JSON es
más común.
Ejemplo de respuesta JSON:
{
"id": 123,
"nombre": "Juan Pérez",
"email": "juan@[Link]"
}
8. Autenticación y Autorización
Las APIs REST suelen requerir autenticación para asegurar el acceso a los recursos. Algunos métodos comunes de
autenticación son:
Tokens de API: Un token único enviado en las cabeceras HTTP.
OAuth: Un estándar de autorización que permite acceso limitado a los recursos del usuario.
Ejemplo:
o Authorization: Bearer <tu_token_aquí>
9. Versionado
El versionado permite que la API evolucione sin romper la compatibilidad con versiones anteriores. Las versiones se
incluyen en la Base URL.
Ejemplo:
o [Link]
o [Link]
Resumen
La estructura de una API REST es intuitiva y sigue principios estándar para facilitar su uso y escalabilidad. Las rutas
bien definidas, el uso de métodos HTTP, el formato de respuesta consistente, y la implementación de autenticación
y autorización son claves para el diseño efectivo de una API REST.