02 API Rest
02 API Rest
Una API REST (también conocida como API RESTful) es una interfaz de
programación de aplicaciones (API o API web) que se ajusta a las limitaciones
del estilo arquitectónico REST y permite la interacción con los servicios web
RESTful. REST significa transferencia de estado representacional y fue
creado por el científico informático Roy Fielding.
Otra ventaja de una API es que no es necesario que conozca los detalles del
almacenamiento en caché: cómo se recupera su recurso o de dónde proviene.
Más información sobre las API
REST
Algo más a tener en cuenta: los encabezados y los parámetros también son
importantes en los métodos HTTP de una solicitud HTTP de la API RESTful,
ya que contienen información de identificación importante en cuanto a los
metadatos de la solicitud, la autorización, el identificador uniforme de
recursos (URI), el almacenamiento en caché, las cookies y más. Hay
encabezados de solicitud y encabezados de respuesta, cada uno con su propia
información de conexión HTTP y códigos de estado.
Para que una API se considere RESTful, debe cumplir con estos criterios:
Aunque la API REST tiene estos criterios para cumplir, todavía se considera
más fácil de usar que un protocolo prescrito como SOAP (Protocolo simple de
acceso a objetos), que tiene requisitos específicos como mensajería XML y
seguridad incorporada y cumplimiento de transacciones que lo hacen más
lento y más pesado.
Por el contrario, REST es un conjunto de pautas que se pueden implementar
según sea necesario, lo que hace que las API REST sean más rápidas y
livianas, con una mayor escalabilidad, perfecto para Internet de las cosas (IoT)
y el desarrollo de aplicaciones móviles.
Con las API REST, generalmente enviamos solicitudes HTTP (más sobre
HTTP aquí) como GET, PUT o POST (y más). Exploremos la API de The
Movie Database. Esta API está basada en JSON, lo que significa que la
respuesta se devuelve en formato JSON. Si necesita un repaso sobre JSON,
puede leer más aquí. Si desea realizar solicitudes usted mismo a esta API,
asegúrese de obtener un token de API (algunas API requieren autenticación
porque quieren identificar al cliente).
curl
https://api.themoviedb.org/3/movie/latest?api_key=<<
api_key>>
Y obtendremos una respuesta (con código de estado 200) como:
"adult": false,
"backdrop_path": null,
"belongs_to_collection": null,
"budget": 0,
"genres": [],
"homepage": "",
"id": 774645,
"imdb_id": null,
"original_language": "ru",
"original_title": "Не моя история",
"overview": "Five of the six heroes of the film came to
Kazan from different parts of the earth to go beyond their
fear and for the first time openly declare their HIV status
by running a marathon in a special uniform. For Deanna, who
flew in from Australia with her 70-year-old mother, talking
about her diagnosis is a daily job throughout her life. She
is an example for the American Sean, who prepared for the
\"coming out\" long and carefully. Seam is sure that his
parents in an Indonesian village will hardly ever know about
his participation in the Open Faces team in distant Kazan.
Zhandos, a young doctor from Kazakhstan, only worries about
how the news will affect his mother.",
"popularity": 0,
"poster_path": null,
"production_companies": [],
"production_countries": [],
"release_date": "",
"revenue": 0,
"runtime": 21,
"spoken_languages": [
{
"english_name": "Russian",
"iso_639_1": "ru",
"name": "Pусский"
}
],
"status": "Released",
"tagline": "",
"title": "Not My Story",
"video": false,
"vote_average": 0,
"vote_count": 0
}
Tenga en cuenta que la respuesta anterior puede cambiar dependiendo de
cuándo llame a la API. El código de estado 200 indica que fue una solicitud
exitosa, una que arrojó la respuesta deseada (de encontrar las últimas
películas). Si la solicitud falla por alguna razón, es posible que no obtengamos
el resultado deseado y esto será indicado por el código de estado. Estos
códigos de estado son útiles para los mecanismos de verificación de errores.
Puede leer más sobre los códigos de estado HTTP aquí.
Por otra parte, una solicitud se envía de cliente a servidor en forma de URL
web como solicitud HTTP GET o POST o PUT o DELETE. Después de eso,
vuelve una respuesta del servidor en forma de recurso que puede ser cualquier
cosa como HTML, XML, Image o JSON. Pero ahora JSON es el formato más
popular que se utiliza en los servicios web.