4 min read

Entendiendo Rest Apis

¡Parece ser solo el comienzo de la revolución API! El camino de la humanidad se dirige hacia la arquitectura de la API ... puede aprender cualquier idioma o herramienta, pero esta es una de esas pocas especialidades que le garantizará un trabajo bien pagado durante los próximos 60 años, así que siéntase cómodo con REST Api. :)

Que es un API?


Una API es el intermediario de la mayoría de las aplicaciones modernas. API significa: interfaz de programación de aplicaciones. Vamos a desglosarlo mirando cada una de sus partes:

AplicaciónProgramandoInterfaz
Si tiene un teléfono inteligente, está familiarizado con las aplicaciones (herramientas, juegos, redes sociales y otro software que usamos todos los días).Programar es la forma en que los ingenieros crean todo el software que hace nuestra vida mucho más fácil.Una interfaz es un límite común compartido por dos aplicaciones o programas que permiten que ambos se comuniquen entre sí.

☝ Esencialmente, una API es una forma para que los programadores se comuniquen con una aplicación en particular.

Esta es la API para usar un teléfono:

Cada API consta de 3 componentes principales: (1) Las funciones / métodos que tiene disponibles para usar, (2) El formato para la comunicación y (3) Los datos (y los tipos de datos) que manipulará. Por ejemplo, cualquier teléfono en el mundo tendrá la siguiente API:

Funciones/Métodos:Formato de Comunicación
Haz una llamada
Cuelgue una llamada
Hablar con el operador
Marque algo en el teclado
Noise (sounds)! There is a sound for everything (even on modern phones). You hear a tone when you are about to make a call, when pressing any key, etc. The phone system listens to the changes of the tone of the noise.

¿Qué pasa con una Aplicación Web?

Los métodos del API de una aplicación web dependen completamente del propósito / negocio del sitio web:

  • Si está creando la API para un producto como Uber, algunos de sus métodos serán: registrarse, solicitar un viaje, calificar un conductor, cancelar un viaje, etc.
  • Si está creando una API para algo como AirBnB, algunos de sus métodos serán: listado de libros, búsqueda de listado, cancelar viaje, etc.

El estándar REST


Hay docenas de formas de crear una API, pero el estándar REST ha llegado a dominarlas todas. Si usted es serio acerca de ser un desarrollador web, tiene que sentirse muy cómodo con REST.

REST funciona a través de HTTP - lo que significa que todo está basado en texto. Utiliza los famosos comandos GET, POST, PUT y DELETE para clasificar los métodos API.

MétodoDescripción
GETSe utiliza para leer el estado del servidor. Al ser una operación segura, puede ejecutarse varias veces sin riesgo de modificación de datos o corrupción; llamarla una vez tiene el mismo efecto que llamarla diez veces.
POSTLos puristas de REST usan post solo para creación. Eso significa que cada vez que POSTEE algo en una API, estará creando un nuevo registro en la base de datos para eso. Algunas API utilizan POST para todas las operaciones de escritura (eliminar, actualizar y crear). Lo hacen porque PUT y DELETE no están disponibles en HTML / Forms y eso hace que esos métodos sean más difíciles de usar.
PUTEsto es más usado para actualizar el estado en el servidor; Aunque también se puede utilizar para crear estado.
DELETESe utiliza para eliminar datos en el servidor

Códigos de Status para la Respuesta

Los códigos de estado HTTP Proporcionar metadatos en la respuesta al estado de los recursos solicitados. Son parte de lo que hace de la Web una plataforma para construir sistemas distribuidos. Se dividen en las siguientes categorías:

  • 1xx – Metadata
  • 2xx – Todo esta bien
  • 3xx – Redirección
  • 4xx – Cliente hizo algo mal
  • 5xx – Servidor hizo algo mal

URIs (identificadores uniformes de recursos)

Los URI diferencian un recurso de otro. Para acceder y manipular un recurso, debe tener al menos una dirección.

Ellos estan compuestos por un protocolo + host + path. E.g: https://api.uber.com/v1.2/products

Los clientes no deben estar acoplados a URI de recursos particulares, ya que pueden cambiarse a discreción del servidor. Aquí es donde la hipermedia tiene las mayores ventajas, ya que ofrece una forma de desacoplar a los clientes de URIs específicos y agregar semántica al protocolo de la aplicación.

Aquí hay algunos URI de la API de Twitter:

Recursos

Esto es para todo lo que deseas crear, eliminar, actualizar o leer con su API, por ejemplo:

  • Si está construyendo el API de un aprendizaje electrónico, podrían ser: un estudiante, un curso, una clase, un tema, un profesor.

  • Si está creando una API de comercio electrónico, pueden ser: Producto, Categoría, Pedido, Cliente, Compra, etc.

Los recursos representan los documentos que se transfieren a través de la red para realizar el trabajo. Los recursos deben nombrarse como sustantivos, ya que representan conceptos en el dominio de un sistema en particular y se identifican mediante URI.