Este proyecto tiene como objetivo integrar la API pública de Star Wars (SWAPI) en una aplicación Java. El propósito de este ejercicio es aprender a consumir una API RESTful desde Java, procesar los datos en formato JSON y mostrar información de personajes, naves y planetas de Star Wars en la consola.
La API de Star Wars proporciona datos sobre el universo de Star Wars, como personajes, naves espaciales, vehículos y planetas, que son accesibles a través de solicitudes HTTP GET.
- Aprender a hacer solicitudes HTTP en Java.
- Consumir una API RESTful y trabajar con respuestas en formato JSON.
- Procesar los datos JSON y mostrar información relevante de los personajes, naves y planetas de Star Wars.
- Familiarizarse con la biblioteca Java HTTP Client o Retrofit para realizar peticiones HTTP en aplicaciones Java.
- Java 8+: Lenguaje de programación para desarrollar la aplicación.
- SWAPI: API pública de Star Wars para obtener datos relacionados con el universo de Star Wars.
- JSON: Formato de datos utilizado para representar la información obtenida de la API.
- HttpClient (Java 11+) o Retrofit: Biblioteca para hacer peticiones HTTP a la API.
- Gson o Jackson: Bibliotecas para parsear las respuestas JSON.
Sigue estos pasos para ejecutar este proyecto en tu máquina local:
- Clona el repositorio:
git clone https://github.com/tu_usuario/ejercicio-api-starwars.git
- Accede al directorio del proyecto:
cd ejercicio-api-starwars
- Compila y ejecuta el proyecto:
Si usas Maven o Gradle, asegúrate de tener estas herramientas instaladas, luego ejecuta los siguientes comandos:
mvn clean install
mvn exec:java
Si usas un IDE como IntelliJ IDEA o Eclipse, puedes simplemente abrir el proyecto y ejecutarlo desde el IDE.
A continuación se muestra un ejemplo de código básico para consumir la API de Star Wars usando HttpClient de Java 11+:
import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import com.google.gson.Gson;public class StarWarsApiClient { public static void main(String[] args) { try { // Crear cliente HTTP HttpClient client = HttpClient.newHttpClient();
// Solicitar información de un personaje de Star Wars (ej. Luke Skywalker) HttpRequest request = HttpRequest.newBuilder() .uri(new URI("https://swapi.dev/api/people/1/")) .build(); // Enviar solicitud y obtener respuesta HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); // Parsear la respuesta JSON Gson gson = new Gson(); Character character = gson.fromJson(response.body(), Character.class); // Mostrar información del personaje System.out.println("Nombre: " + character.getName()); System.out.println("Altura: " + character.getHeight()); System.out.println("Color de cabello: " + character.getHairColor()); } catch (Exception e) { e.printStackTrace(); }
} }
class Character { private String name; private String height; private String hair_color;
public String getName() { return name; }
public String getHeight() { return height; }
public String getHairColor() { return hair_color; } }
En este ejemplo, se usa la clase HttpClient de Java 11 para realizar una solicitud GET a la API de Star Wars y obtener la información de un personaje (en este caso, Luke Skywalker). Luego, se parsea la respuesta JSON utilizando Gson para extraer y mostrar información relevante.
Si deseas contribuir al proyecto, puedes seguir estos pasos:
- Haz un fork del repositorio: Crea una copia del proyecto para hacer cambios en tu propio repositorio.
- Crea una nueva rama: Asegúrate de crear una nueva rama con un nombre descriptivo, por ejemplo:
git checkout -b feature/nueva-funcionalidad
- Realiza los cambios necesarios: Agrega nuevas funcionalidades o mejora el código existente.
- Haz commit de tus cambios:
git commit -m "Descripción de los cambios realizados"
- Sube tus cambios:
git push origin feature/nueva-funcionalidad
- Abre un pull request: Una vez subidos los cambios, abre un pull request para que los demás revisen tu código.
Este proyecto está bajo la licencia MIT. Puedes ver los detalles en el archivo LICENSE
.
Agradecemos a todos los colaboradores y a la comunidad de desarrolladores que contribuyen al mantenimiento de la API de Star Wars (SWAPI) que usamos en este proyecto.