La API REST (transferencia de estado representacional) es un estilo arquitectónico que incluye restricciones específicas para crear API para garantizar que sean coherentes, eficientes y escalables. REST API es una colección de sintaxis y restricciones que se utilizan en el desarrollo y operación de servicios web que incluyen enviar y recibir información a través de su punto final , es decir, una URL que proporciona una interfaz para el entorno externo.
REST fue presentado por primera vez por Roy Fielding en 2000. La abstracción de información en REST se denomina recurso. REST usa un identificador de recursos para identificar el recurso particular en una interacción entre componentes. Permite que una aplicación acceda a recursos o funcionalidades disponibles en otro servidor que es remoto al dominio de arquitectura y seguridad de esa aplicación.
Acceder a la API REST mediante la programación R
REST utiliza métodos de recursos para realizar la transición deseada. Una API solo puede considerarse RESTful cuando cumple las siguientes condiciones:
- Interfaz uniforme: una interfaz bien definida entre el servidor y el cliente.
- Sin estado: Un estado se gestiona a través de las propias requests y no mediante el apoyo de un servicio externo.
- Almacenamiento en caché: las respuestas deben almacenarse en caché para mejorar la escalabilidad.
- Cliente-Servidor: Separación bien definida de cliente y servidor.
- Sistema en capas: el cliente debe ignorar los intermediarios entre el cliente y el servidor.
- Código bajo demanda: la respuesta puede incluir lógica ejecutable por el cliente
Los 4 métodos de protocolo HTTP más importantes;
- GET: recupera datos de un servidor remoto y puede ser un solo recurso o una lista de recursos.
- POST: Crea un nuevo recurso en un servidor remoto. *
- PUT: Actualiza los datos en un servidor remoto.
- DELETE: Elimina datos de un servidor remoto.
La API REST se puede utilizar con cualquier idioma, ya que las requests se basan en el protocolo HTTP universal. En R, usamos el paquete httr y el paquete jsonlite para realizar una solicitud GET, analizar los resultados y, finalmente, revisar todos los datos. Esto requiere convertir los datos sin procesar de la solicitud GET al formato JSON y luego a un marco de datos analizados.
Implementación en R
la API
La API de la película Guardians of Galaxy Vol. 2 se lanzó en el año 2017 el 5 de mayo con un tiempo de ejecución de 136 minutos dirigido por James Gun. Era una película de acción, comedia, aventura y ciencia ficción. La API es de OMDb, que es un servicio web abierto que aloja información de películas.
R
# Installing the packages install.packages("httr") install.packages("jsonlite") # Loading packages library(httr) library(jsonlite) # Initializing API Call call <- "http://www.omdbapi.com/?i=tt3896198&apikey=948d3551&plot=full&r=json"
Acceder a la API de películas usando paquetes
Accediendo a la API de la película usando el paquete httr y el paquete jsonlite en R.
R
# Getting details in API get_movie_details <- GET(url = call) # Getting status of HTTP Call status_code(get_movie_details) # Content in the API str(content(get_movie_details)) # Converting content to text get_movie_text <- content(get_movie_details, "text", encoding = "UTF-8") get_movie_text # Parsing data in JSON get_movie_json <- fromJSON(get_movie_text, flatten = TRUE) get_movie_json # Converting into dataframe get_movie_dataframe <- as.data.frame(get_movie_json)
Producción:
- Código de estado:
El código de estado 200 muestra que los datos de la API se solicitaron, respondieron y recibieron con éxito.
- Contenido en la API:
Los datos de la API solicitados se muestran mediante la función content() .
- get_movie_text:
Los datos en la API se convierten en formato de texto.
- get_movie_json:
Los datos de la API se analizan en formato JSON.
REST API se utiliza en muchas industrias técnicas y subdominios como servicio web, inteligencia artificial con su uso completo.