En este artículo, hablaremos sobre la mejor tecnología de interacción entre software y la probaremos en el lenguaje más popular para crear software.
- ¿Qué es Java REST API?
- Bien, pero ¿qué es exactamente una API?
- ¿Cómo funciona esta interfaz?
- Tipos de solicitudes de API
- Pero, ¿qué significa REPOSO?
- Requisitos previos
- Descripción general
- Cómo comenzar a usar API con Java
- Regístrese en RapidAPI
- Encuentra una API
- Suscribirse a la API
- Pruebe los puntos finales
- Recupere datos utilizando la API
- Obtener una respuesta JSON
- Ejemplo: Usando Java & API para mostrar otros tipos de Datos
- Conclusión
- preguntas frecuentes
- ¿Cómo puede usted crear una API en Java?
- ¿Java es una API?
- ¿Es JSON una API?
¿Qué es Java REST API?
Esta es una pregunta difícil, así que la dividiremos en algunas partes. Java es uno de los lenguajes de programación más populares del mundo. Según el ranking de TIOBE (que ordena los idiomas por su índice de popularidad), en realidad es el más popular. Hay muchas razones para ello, pero preferimos la tesis de que Java está muy extendido, es fácil de implementar y tiene una caja de herramientas mágica de «escribir una vez, ejecutar en todas partes».
¿Está buscando crear una API en su lugar? Echa un vistazo a Cómo Crear una API en Java
Bien, pero ¿qué es exactamente una API?
Bueno, API significa Interfaz de programación de aplicaciones.
En resumen, es un conjunto de reglas que controla la interacción entre el software (es decir, un objeto que recibe una tarea y un objeto que da esta tarea). Las API nos permiten saltar profundamente en el código fuente de algún software de terceros, a la vez que nos permiten usar sus privilegios de manera rápida y fácil.
¿Cómo funciona esta interfaz?
En primer lugar, una API debe tener una URL de host (o URL base), que es la dirección principal con la que interactuará.
Además, las API tienen un conjunto predefinido de puntos de conexión, direcciones únicas dentro de la URL del host, responsables de su funcionalidad. Además, las API deben tener documentación que explique todos los endpoints, tipos de valores devueltos, etc.
Después de encontrar una API interesante y leer la documentación, debe enviar una solicitud, una sola tarea para el servidor (lado receptor).
Metafóricamente, es como una conversación entre dos personas: Alguien (tú) hace una pregunta (solicitud) y el interlocutor (punto final) responde (respuesta).
Tipos de solicitudes de API
Hay muchos tipos diferentes de solicitudes que API podría manejar, pero aquí están las más utilizadas:
- GET-devuelve datos del servidor. La petición más popular por cierto.
- POST – añade nuevos datos en el servidor. A menudo, este tipo se utiliza para el registro o la carga de archivos.
- PUT / PATCH-actualiza datos, peticiones útiles pero no tan buscadas.
- ELIMINAR: elimina los datos del servidor.
Bien, tenemos el significado de la primera y la última palabra en «Java REST API».
Pero, ¿qué significa REPOSO?
Este es el estilo de comunicación de software que ayuda a un cliente a obtener los datos necesarios en el estado de bienestar para la representación (transferencia de estado de representación de REPOSO).
Por lo tanto, cuando decimos API REST, nos referimos a API que no solo devuelven los datos solicitados, sino que también los preparan para el trabajo posterior.
Pero, ¿cómo podemos crear una API RESTful? Todo lo que se requiere, un montón de restricciones arquitectónicas:
- Arquitectura cliente-servidor-separación clara en dos lados. El cliente envía solicitudes y espera la respuesta; el servidor toma el rol opuesto. La razón principal de esta restricción: a un lado no le importa nada excepto el formato correcto de la interacción (no es su problema cómo el servidor realiza su solicitud y viceversa).
- Apatridia-independencia de cada solicitud singular de todas las solicitudes anteriores y futuras. Por ejemplo, si enviaras la pregunta » ¿Cuál es el apellido de Charlie?», y luego seguir con » ¿Cuántos años tiene?», el servidor no sería capaz de responder a este último. El servidor no guarda ninguna información del cliente y la requiere en cada solicitud.
- Capacidad de almacenamiento en caché: en lugar del servidor, el cliente podría (e incluso debería) guardar algunos datos en el almacenamiento local (caché). Aumenta la productividad, ya que el número de solicitudes será menor.
- Sistema de capas – el servidor debe incluir capas para diferentes partes del proceso. Es útil porque las capas no saben nada entre sí y el servidor podría escalarse fácilmente con nuevas capas (por ejemplo, seguridad).
- Interfaz uniforme: cada extremo debe tener una dirección única. Simple, útil y necesario.
Ahora que tenemos toda la información sobre las API RESTful de Java, ¡Probémoslo!
Requisitos previos
Primero, necesitará tener Java instalado en su máquina.
Además, debe tener un creador de paquetes Maven para facilitar la instalación y el uso de los paquetes del sitio. Aparte de eso, solo necesitaremos la biblioteca Unirest para realizar solicitudes sin problemas y en pocas líneas.
Aquí puede ver el ejemplo de código que hace una solicitud por módulos estándar:
Parece bastante difícil, ¿verdad? Especialmente InputStream como un tipo de valor devuelto (debe procesarse posteriormente).
veamos el mismo ejemplo con Unirest:
¡Voilá! Puede asignar el tipo de respuesta esperado y trabajar con él de inmediato.
Puede usar Unirest con la ayuda de Maven, luego crear un proyecto Java Maven y encontrar el pom.archivo xml – muestra todas las dependencias y herramientas del proyecto. Inserte la siguiente parte del código XML en la etiqueta <dependencies>
:
<dependency> <groupId>com.mashape.unirest</groupId> <artifactId>unirest-java</artifactId> <version>1.4.9</version></dependency>
Puede encontrar información más detallada sobre las dependencias aquí.
Ahora puede compilar su proyecto con el siguiente comando en terminal (tenga cuidado, úselo solo en la carpeta principal, porque pom.xml debe ser visible para Maven):
mvn package
Ahora está listo para usar Java para interactuar con las API.
Descripción general
Antes de comenzar, necesitaremos encontrar una API fácil de probar. A veces es difícil encontrar una API gratuita y útil para fines de prueba. En RapidAPI, encontrará más de 10,000 API para probar y conectarse. Aquí puede probar sus habilidades de programación, crear aplicaciones útiles e incluso crear sus propias API.
Cómo comenzar a usar API con Java
Regístrese en RapidAPI
Como se mencionó anteriormente, RapidAPI tiene más de 10.000 API para comenzar. Y con más de 1 millón de desarrolladores utilizando su plataforma, es una de las plataformas API más populares y confiables.
Así que haga clic aquí para comenzar, es gratis.
Encuentra una API
Ahora que tienes una cuenta de usuario, busquemos una API con la que jugar.
On RapidAPI.com, puede encontrar API navegando por:
- Categorías (ejemplo: API de juegos)
- Buscar
- Colecciones curadas en la página de inicio
Intentemos buscar la API de IMDb para obtener información sobre TV y películas:
Suscribirse a la API
Para comenzar a usar esta API, primero deberá suscribirse a ella. (Pista: hay un plan freemium que permite 1000 solicitudes de API gratuitas / día). Se le pedirá que ingrese su tarjeta de crédito en caso de que incurra en exceso.
Si quieres probar algunas API gratuitas (sin tarjeta de crédito), explora esta colección.
Una vez que esté suscrito, ya estará listo para probar los endpoints.
Pruebe los puntos finales
Exploremos todos los puntos finales que están en esta API. Busque en el lado izquierdo de la página de la API:
La API de IMDb solo tiene dos puntos finales:
-
GET By Search
– busque en la base de datos de IMDb por cadena de consulta -
GET By ID or Title
– obtenga información más detallada sobre un título específico (incluye información sobre la película/tv, el reparto, la producción y más).
En cualquiera de los extremos de la API, rellene los parámetros necesarios y haga clic en «Probar punto final».
En el lado derecho, puede ver la parte de fragmento, donde los desarrolladores muestran cómo conectarse a esta API con cualquier idioma compatible.
Para esta API, necesitamos agregar dos encabezados (nombre único de la API y nuestro propio token RapidAPI). Todos los demás parámetros dependen del punto final concreto. Exploremos todos los puntos finales que están en esta API. Mira en el lado izquierdo de la página principal.
Recupere datos utilizando la API
Está bien, esté listo, es hora de codificar. Averigüemos todo sobre alguna película famosa que existe dentro de los datos de imdb. Vuelve a tu código e importa lo siguiente:
Aquí importamos URLEncoder
para preparar parámetros para ser enviados, y 3 objetos requeridos de la biblioteca Unirest:
- para manejar una respuesta (HttpResponse),
- asignarle un tipo JSON (JsonNode),
- y hacer una solicitud GET (Unirest).
Ahora vamos a crear tu clase principal, donde todo el código será:
public class App{ public static void main( String args ) throws Exception { //Here will be your code }}
No te olvides de la excepción. Debe manejar todas las advertencias y errores para mejorar el proyecto.
Bien, ahora vamos a crear algunas variables de cadena para automatizar algunos procesos:
Ahora que hemos creado la consulta, enviemos una solicitud y manejemos la respuesta:
Como puedes ver, es bastante simple.
Para crear una solicitud, utilice una biblioteca Unirest con la función GET.
Preste atención a los encabezados, podemos agregarlos usando puntos para dividir.
Después de hacer una solicitud y manejar su respuesta mediante el objeto HttpResponse
, podemos ver el resultado.
Firstprintln
muestra el código de estado de la respuesta, un número corto que explica la situación con nuestras acciones solicitadas.
En nuestro caso, si todo está bien, debería devolver un estado de 200 OK.
El segundo println
, a su vez, muestra uno de los encabezados de respuesta: «Content – Type».
Veamos qué deberíamos obtener con la consola API integrada en RapidAPI. Simplemente ingrese su consulta en los campos del formulario y haga clic en»Probar punto final»:
Debería ver el mismo resultado que se ve en la captura de pantalla anterior.
Ahora, comprobemos nuestro código. Ejecute su programa, y debería ver:
200
Obtener una respuesta JSON
En la sección de código anterior, utilizamos un objeto JsonNode
para asignar el tipo de formato JSON a la respuesta.
El problema es que el objeto JsonNode predeterminado imprime datos en una sola fila, lo que es bastante difícil de entender. Agreguemos una biblioteca para embellecer los datos: GSON. Modifica tu pompón.archivo xml con la siguiente dependencia:
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version></dependency>
Ahora agreguemos algunas líneas de importación en la sección de importación de su *.archivo java:
Estos objetos nos ayudarán en la impresión bonita de nuestro JSON. Bien, ahora podemos llamar al punto final y obtener una respuesta:
Si todo va bien, deberíamos ver la siguiente respuesta:
Ejemplo: Usando Java & API para mostrar otros tipos de Datos
Como recordará, el encabezado de Tipo de contenido de las solicitudes anteriores era para «application / json», pero ¿qué pasa si queremos enviar/recibir algo que no se puede procesar en JSON?
Por ejemplo, un archivo o una imagen?
Intentemos demostrarlo con la API del Generador de Memes.
La API del generador de Memes consta de 5 puntos finales:
- Generar meme
- Obtener fuentes
- Subir imagen
- Subir fuente
- Obtener imágenes
Usemos el punto final Generar meme:
Primero, modifiquemos nuestras importaciones agregando estas líneas a la parte superior de nuestro código:
import java.io.InputStream;import java.io.File;import java.awt.image.BufferedImage;import javax.imageio.ImageIO;
el siguiente fragmento de código dentro del método principal:
Aquí manejamos el cuerpo sin procesar de la respuesta en el objeto InputStream
. El siguiente paso es leerlo en la imagen dinámica de objeto BufferedImage
en la memoria del programa.
Finalmente, vamos a crear (o actualizar) una imagen.archivo jpg y guardar búfer dentro de él. Esto debería generar lo siguiente:
Como puede ver, la API regresa a un objeto de imagen.
Para ver la imagen real, revisemos la carpeta principal de nuestro proyecto y debe encontrar:
Conclusión
En esta guía, estudiamos cómo usar RapidAPI para crear aplicaciones Java REST API interesantes y útiles y probamos algunas API útiles para borrar momentos clave en esta técnica.
- ¿Cómo Utilizar Una API
- Python
- PHP
- JavaScript
- Reaccionan
- Axios
- Con NodeJS
- Con VueJS
- Reaccionan
- Con Ruby on Rails
- Con C#
- en Hojas de cálculo de Google
- Cómo Crear una API de Java
- Lista de API de REST de Tutoriales
- Cómo utilizar la API de Twitter con Java
- Cómo utilizar la Skyscanner API de Java
- Cómo usar el Yahoo Finanzas de la API de Java
preguntas frecuentes
¿Cómo puede usted crear una API en Java?
Echa un vistazo a estos tutoriales de API de Java sobre cómo crear una API.
¿Java es una API?
Java es un lenguaje de programación.
Las API son un conjunto de definiciones y protocolos que permiten que los productos y servicios tecnológicos se comuniquen entre sí.
Una Interfaz de Programación de Aplicaciones (API) Java puede hacer referencia al kit de desarrollo de Java (JDK) o a las API a las que se puede acceder mediante Java.