Skip to content

dggtn/desafioAPIJAVA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

DesafioAPIJava - Proyecto Oracle 2024

Descripción: Proyecto para aprender a realizar llamadas a una API REST en el contexto de un backend desarrollado en Java, como parte del programa de formación Oracle 2024.

Descripción del Proyecto

Este proyecto tiene como objetivo enseñar cómo realizar llamadas a una API REST desde una aplicación backend desarrollada en Java. La aplicación se enfoca en consumir datos de una API externa y procesarlos para ser utilizados dentro del sistema backend.

A través de este desafío, el enfoque principal es entender cómo interactuar con servicios RESTful utilizando tecnologías como Java y Spring Boot, así como manejar las respuestas obtenidas de una API de manera eficiente.

Funcionalidades

Las funcionalidades del proyecto incluyen:

  • Realizar solicitudes HTTP: La aplicación es capaz de hacer solicitudes GET, POST, PUT y DELETE a una API REST externa.
  • Manejo de respuestas: Se procesan las respuestas de la API, como JSON, para extraer información relevante.
  • Integración con Backend: Los datos obtenidos de la API se utilizan dentro de la aplicación backend, permitiendo su posterior uso o almacenamiento.
  • Gestión de errores: Se manejan errores como fallos en la conexión a la API o respuestas inesperadas con un manejo adecuado de excepciones.

Tecnologías Utilizadas

  • Java: Lenguaje de programación utilizado para desarrollar la lógica de backend.
  • Spring Boot: Framework utilizado para construir la aplicación backend de manera rápida y sencilla.
  • RestTemplate: Utilizado para realizar solicitudes HTTP a la API externa.
  • Jackson: Biblioteca para procesar y convertir las respuestas JSON de la API.
  • JUnit: Para realizar pruebas unitarias y asegurar que el código funcione correctamente.
  • Postman: Utilizado para probar y verificar las solicitudes a la API.

Instrucciones para Ejecutar el Proyecto

Para ejecutar este proyecto, sigue estos pasos:

  1. Clonar el repositorio:
    git clone https://github.com/tu-usuario/desafio-api-java.git
  2. Acceder al directorio del proyecto:
    cd desafio-api-java
  3. Instalar las dependencias:
    mvn install
  4. Ejecutar la aplicación:
    mvn spring-boot:run
  5. La aplicación estará disponible en http://localhost:8080.

Uso de la API

A continuación, se presentan los endpoints de la API que pueden ser utilizados:

1. Realizar una solicitud GET a la API

Este endpoint realiza una solicitud GET a una API externa y devuelve los datos obtenidos.

GET /api/obtenerDatos

Ejemplo de respuesta:


  {
      "status": "success",
      "data": {
          "id": 1,
          "nombre": "Juan Pérez",
          "email": "juan.perez@example.com"
      }
  }
  

2. Realizar una solicitud POST a la API

Este endpoint envía datos a una API externa mediante una solicitud POST.

POST /api/enviarDatos

Ejemplo de solicitud:


  {
      "nombre": "Ana Gómez",
      "email": "ana.gomez@example.com"
  }
  

3. Manejo de errores

En caso de error, la API responde con un código de error y un mensaje descriptivo.


  {
      "status": "error",
      "message": "Error al realizar la solicitud"
  }
  

Pruebas

El proyecto incluye pruebas unitarias utilizando JUnit para validar que las solicitudes y respuestas de la API se manejen correctamente.

Para ejecutar las pruebas, utiliza el siguiente comando:

mvn test

Contribución

Si deseas contribuir a este proyecto, sigue estos pasos:

  1. Haz un fork del repositorio.
  2. Crea una nueva rama para la funcionalidad o corrección de errores que deseas agregar (git checkout -b feature/nueva-funcionalidad).
  3. Realiza tus cambios y haz commits adecuados.
  4. Abre un pull request describiendo tus cambios y su propósito.

Licencia

Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages