¿Qué es una API REST desde el punto de vista de un creador de una API REST y desde el punto de vista de un consumidor?
API significa Interfaz de programación de aplicaciones y es un término general que identifica diferentes cosas.
Vimos cómo el navegador puede ofrecer algunas API, en forma de funciones disponibles para nosotros.
Vimos cómo Node.js nos ofrece una API de programación con sus módulos por defecto.
API también significa otra cosa: crear un servicio que expone una funcionalidad específica, proporcionada a través de un servidor al que pueden acceder múltiples clientes.
En términos generales, actualmente tenemos dos categorías de API: API REST y API GraphQL.
Existen otros tipos de paradigmas de API, como SOAP por ejemplo, pero no son muy populares en el mundo de JavaScript.
En esta publicación hablaremos sobre las API REST.
Puntos finales
En una API REST, creamos una serie de puntos finales a los que un cliente puede acceder.
Digamos que queremos exponer una lista de personas. Podemos crear un punto final que responderá a la /people
ruta .
Si nuestro servicio escucha en el dominio test.com
, tendremos la test.com/people
URL.
Este punto final proporcionará datos en cualquier formato, pero generalmente usamos JSON , un práctico formato basado en texto que se utiliza para comunicar datos entre dos servicios.
Este /people
punto final puede proporcionar una lista de nombres de personas y un nombre id
para cada persona. Este podría ser el id
que usemos para almacenarlos en la base de datos, por ejemplo.
Nuestro sistema también puede exponer otro punto final, al que podemos llamar /person
. Este acepta un id
que identifica de forma única a una persona, como esto:/person/1
Nuestra API proporcionará más información sobre esa persona, por ejemplo, edad, correo electrónico, dirección.
Lo importante a destacar es que en el primer endpoint no teníamos ningún parámetro, pero esta vez tenemos uno.
Los parámetros se pueden enviar de distintas formas y no todos los puntos finales se utilizarán para enviar información desde el servidor. Algunos otros puntos finales se utilizarán para realizar acciones, como veremos a continuación.
Métodos
Mencioné que el /people
punto final devolverá la lista de personas en nuestro sistema.
Esto fue una simplificación y es hora de profundizar más.
Una API REST utiliza los principios del protocolo HTTP para proporcionar diferentes funcionalidades según el método HTTP utilizado: GET
, POST
, PUT
, DELETE
.
GET
es el más común. Cuando un cliente llama a nuestro punto final de API con un método GET, indica que desea leer datos.
GET /people
Devolverá una lista de personas.
GET /person/1
Devolverá los detalles de una persona.
Cuando el método HTTP es POST
, el significado es completamente diferente. El punto final será el mismo, pero la acción requerida será otra.
Nosotros, como creadores de API, definimos cuál es el significado.
Por ejemplo, podríamos crear un POST /person
punto final que, cuando se llama, crea una nueva persona en la base de datos.
Recibe datos del cliente, en un formato predefinido que podemos elegir. Pronto veremos un ejemplo realizado con Express.
GET
y POST
son los 2 verbos principales utilizados.
A veces usamos PUT
y DELETE
: PUT
a veces se usa para actualizar un recurso, como cambiar la dirección de una persona. DELETE
se usa para eliminar un recurso. Diets, plans and health
Otras veces, POST
se usa para todo lo que no es lectura, donde GET
se usa.
Tenemos libertad en esta elección.
Por recurso entendemos una entidad, como personas en plural en el caso de /people
, o una sola persona en el caso de /person
.
Puntos finales de API de nombres
Mira como lo usé /people
y /person
arriba.
Esos son sustantivos .
Se considera una buena práctica utilizar sustantivos para los puntos finales y utilizar métodos HTTP para señalar la acción.
Para actualizar una persona se utiliza una POST
solicitud al /person
punto final.
Si desea crear una API para enviar un mensaje a una persona, deberá realizar una POST
solicitud utilizando un /message
punto final, pasándole datos para identificar a la persona y el mensaje que desea enviar.
Una API REST no tiene estado
Una API REST no tiene estado.
Esto significa que no tiene memoria entre diferentes solicitudes.
La mayoría de las API que puedes encontrar implementan un mecanismo de clave API que sirve como una forma de rastrear quién llama a una API y proporciona una forma de monitorear el uso y forzar límites.
Una API también se puede proteger mediante un mecanismo de inicio de sesión y contraseña. En este caso, un proceso de autenticación de API deberá tener en cuenta un proceso de enlace que proporcione un token que luego se debe enviar en cada solicitud futura para identificar al usuario y la autorización correcta.
Respuestas
Una llamada API devolverá una respuesta al usuario, en dos formas: un código de estado de respuesta HTTP y un cuerpo de respuesta HTTP.
Cada solicitud HTTP tiene un código de estado.
Tenemos algunas convenciones con respecto al código de estado de respuesta HTTP: cuando se utiliza el navegador para abrir una página web, la página devolverá un 200 OK
código de estado. Si no se encuentra la página, se devolverá un 404 NOT FOUND
código de estado.
Lo mismo funciona para nuestras API.
Los más comunes son:
200 OK
:esta es la respuesta estándar para solicitudes HTTP exitosas.201 Created
: Normalmente, se trata de una respuesta a una solicitud POST. La solicitud se ha completado y se ha creado un nuevo recurso.400 Bad Request
Debido a un error de solicitud que se generó en el cliente, el servidor no puede procesar la solicitud. Los errores pueden incluir una solicitud mal formada, un tamaño demasiado grande para ser manejado u otros.401 Unauthorized
Se envía cuando se requiere autenticación y el cliente no está autorizado403 Forbidden
El recurso no está disponible por diversos motivos. Si el motivo es la autenticación, es preferible el código de estado 401 No autorizado.404 Not Found
No se pudo encontrar el recurso solicitado.405 Method Not Allowed
El recurso no está disponible a través de ese método HTTP, pero podría estarlo con otro.500 Internal Server Error
Un mensaje de error de servidor genérico que aparece cuando se encuentra una condición inesperada y no hay ningún mensaje más específico adecuado.
Puede encontrar la lista completa en La lista de códigos de estado HTTP . Lo que debe tener en cuenta es que cuando crea una API, siempre debe devolver el código de estado correcto para informar a sus clientes.
El cuerpo de la respuesta suele ser una respuesta JSON con los datos solicitados o un mensaje de error.
Los detalles de cómo se construye el mensaje los decide usted, el creador de la API, o quien creó la API.
Tal vez te puede interesar:
- Introducción a React
- Agregar evento de clic a los elementos DOM devueltos desde querySelectorAll
- Cómo cambiar el valor de un nodo DOM
- Cómo comprobar si un elemento DOM tiene una clase
Introducción a las API REST
¿Qué es una API REST desde el punto de vista de un creador de una API REST y desde el punto de vista de un consumidor? Puntos finalesMétodosPuntos finales
programar
es
https://aprendeprogramando.es/static/images/programar-introduccion-a-las-api-rest-2299-0.jpg
2024-11-05
Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente