cuales son los componentes de una api

APIGit

2023-04-19

card-Components-of-an-API

¿Cuáles son los componentes de una API?

Las API son conjuntos de instrucciones basadas en código que permiten que los componentes de software se comuniquen y transfieran datos, y son los componentes básicos de todas las aplicaciones modernas. Pero, ¿cuáles son los componentes básicos de las propias API? En este artículo, revisaremos los diferentes componentes de una API REST siguiendo una solicitud de principio a fin.

cliente API

Las solicitudes de API se pueden activar de muchas maneras diferentes. Por ejemplo, un usuario puede iniciar una solicitud de API ingresando un término de búsqueda, haciendo clic en un botón o desplazándose por una lista en una aplicación web o móvil. Las solicitudes de API también pueden emitirse en respuesta a eventos externos, como una notificación de otra aplicación o servicio. No importa cómo se active la solicitud de la API, un cliente de la API será responsable de ensamblarla y dirigirla al servidor de la API.

Es importante tener en cuenta que la frase "cliente API" puede significar diferentes cosas según el contexto. En primer lugar, puede hacer referencia a una herramienta de desarrollo que abstrae parte de la complejidad del envío manual de solicitudes de API, lo que facilita la exploración, prueba y depuración de las API. También puede hacer referencia a un servicio que usa bibliotecas y SDK específicos del idioma para iniciar solicitudes de API en el contexto de una aplicación más grande. Ambos tipos de clientes API son responsables de manejar los datos devueltos por la API y presentarlos al usuario, pero el último tipo de cliente también puede usar los datos devueltos en el flujo lógico de la aplicación.

Solicitud de API

Mencionamos que un cliente de API es responsable de enviar solicitudes de API en respuesta a acciones del usuario o eventos externos, pero ¿qué es exactamente una solicitud de API? Una solicitud de API se verá y se comportará de manera diferente según el tipo de API. Dicho esto, una solicitud de API a una API REST se compone de los siguientes componentes:

  • punto final: Cada solicitud de API se dirige a un punto final de API, que es una URL dedicada que brinda acceso a un recurso específico. Por ejemplo, el punto final /products en una aplicación de comercio electrónico incluiría la lógica para procesar todas las solicitudes relacionadas con productos. Por lo tanto, la solicitud debe designar un punto final para que el servidor API sepa cómo proceder. Discutiremos el servidor API con más detalle pronto.
  • Método: cada solicitud de API debe incluir un método, que define la operación que el cliente desea realizar en el recurso especificado. Se puede acceder a las API REST a través de métodos HTTP estándar, como GET, POST, PUT, PATCH y DELETE, que facilitan acciones comunes como recuperar, crear, actualizar o eliminar datos. Una solicitud GET al punto final /products le indicaría al servidor API que devuelva todos los productos en la base de datos.
  • Parámetros: Los parámetros son las variables que se pasan a un extremo de la API para proporcionar instrucciones específicas para que la API las procese. Estos parámetros se pueden incluir en la solicitud de la API como parte de la URL, en la cadena de consulta o en el cuerpo de la solicitud. Por ejemplo, el punto final /products de una API de comercio electrónico podría aceptar un parámetro de "color", que usaría para acceder y devolver productos de un color específico.
  • Encabezados de solicitud: los encabezados de solicitud de API son pares clave-valor que brindan información adicional sobre la solicitud. Por ejemplo, el encabezado de tipo de contenido especifica el formato de los datos en el cuerpo de la solicitud, mientras que el encabezado de autorización proporciona credenciales de autenticación, como una clave de API o un token de OAuth, para autenticar al solicitante.
  • Cuerpo de la solicitud: El cuerpo de la solicitud incluye los datos reales que son necesarios para crear, actualizar o eliminar un recurso. Por ejemplo, si un administrador de una tienda de comercio electrónico necesita crear un nuevo producto, el cuerpo de la solicitud puede incluir el nombre, la marca y el precio del producto. La especificación de la API dictará el formato de datos requerido para la solicitud, como JSON o XML.

servidor API

Una vez que el cliente API ensambla la solicitud, la envía al punto final apropiado en el servidor API para su procesamiento. El servidor API es responsable de manejar la autenticación, validar los datos de entrada, recuperar o manipular datos de una base de datos y devolver la respuesta adecuada al cliente.

Es importante tener en cuenta que, si bien la base de datos en sí no es un componente de la API, la API no puede funcionar sin ella. Mientras que el servidor API recupera y manipula los datos de la aplicación en función de una solicitud, la base de datos almacena y organiza estos datos de una manera que facilita la recuperación y manipulación eficientes. Por lo tanto, el servidor API actúa como intermediario entre el cliente API y la base de datos.

Respuesta de la API

Mencionamos anteriormente que el servidor API es responsable de enviar una respuesta al cliente después de que haya procesado la solicitud. El contenido de las respuestas de la API puede variar ampliamente según el tipo de solicitud y el diseño de la API, pero normalmente incluyen los siguientes componentes:

  • Código de estado: Los códigos de estado de API son códigos de estado HTTP que devuelve una API para indicar el estado de la solicitud de un cliente. Estos códigos se utilizan para proporcionar información al cliente sobre el resultado de la solicitud y para ayudar al cliente a comprender cómo proceder. Algunos de los códigos de estado más comunes incluyen 200 OK, que indica que el servidor devolvió correctamente los datos solicitados, 201 Creado, que indica que el servidor creó correctamente un nuevo recurso, y 404 No encontrado, que indica que el servidor no pudo encontrar el recurso solicitado. recurso.
  • Encabezados de respuesta: Los encabezados de respuesta son muy similares a los encabezados de solicitud, excepto que se usan para proporcionar información adicional sobre la respuesta del servidor. Por ejemplo, el encabezado Cache-Control proporciona instrucciones sobre cuánto tiempo se pueden almacenar los datos en un caché, mientras que el encabezado Set-Cookie establece una cookie en el navegador, que se puede usar para la administración de sesiones o la autenticación.
  • Cuerpo de respuesta: El cuerpo de la respuesta contiene los datos o el contenido que devuelve el servidor API en respuesta a la solicitud del cliente. Los cuerpos de respuesta varían ampliamente, pero normalmente incluyen objetos de datos estructurados que representan los recursos solicitados, los metadatos y, si la solicitud falló, mensajes de error sobre lo que salió mal. Por ejemplo, una solicitud GET exitosa para un producto específico podría incluir una representación JSON de ese producto, así como una marca de tiempo y la fuente de los datos.

Si bien REST es la arquitectura de API más común, otros tipos de API, como GraphQL y gRPC, tendrán componentes diferentes. Sin embargo, esta lista incluye los componentes principales que están involucrados en la ejecución de solicitudes a cada API RESTful.

Hoy, decenas de miles de desarrolladores utilizan la plataforma Apitgit. Apitgit simplifica cada paso del ciclo de vida de la API y agiliza la colaboración para que pueda crear mejores API, más rápido.