Skip to content

johanflorez98/API-REST-SPRING-BOOT-MYSQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API-REST-SPRING-BOOT-MYSQL

Se muestra el desarrollo de una API Rest, utilizando el framework Spring Boot y una base de datos correspondiente a MySQL.

Dicha API Rest brinda los diferentes servicios requeridos para llevar una agenda de forma adecuada en la asignación de citas en un laboratorio. Servicios como crear (POST), modificar (PUT), listar (GET) (general o mediante ID) y eliminar (DELETE) afiliado, exámenes y citas. Adicionalmente se ofrece un filtrado de citas por afiliado (GET BY ID) y por fecha de asignación (GET BY DATE).

Las respectivas validación de la API Rest se llevaron a cabo en Postman. El proyecto está a disposición de ser probado de forma directa en dicha plataforma.

Los endpoints establecidos para cada uno de los servicios se muestran acontinuación (se asume un servidor local asignado por defecto mediante Spring Boot, ubicado en el puerto 8080):

  • Afiliados:

    • Método POST: localhost:8080/api/controller/Affiliate. Este recibe como parámetro una estructura de tipo JSON, como se muestra:

      {
        "name": "Afiliado 1",
        "age": 22,
        "mail": "[email protected]"
      }
      
    • Método GET (general): localhost:8080/api/controller/Affiliate. Este muestra una lista general del total de afiliados registrados.

    • Método GET (por ID de afiliado): localhost:8080/api/controller/Affiliate/xxx. Este recibe como parámetro el ID de un afiliado y muestra sus respectivos atributos.

    • Método PUT: localhost:8080/api/controller/Affiliate. Este recibe como parámetro una estructura de tipo JSON, como se muestra:

      {
        "id_affiliate: 1,
        "name": "Afiliado 1",
        "age": 22,
        "mail": "[email protected]"
      }
      

      donde el id_affiliate debe corresponder a un ID existente.

    • Método Delete: localhost:8080/api/controller/Affiliate/xxx. Este recibe como parámetro el ID del afiliado que se desea eliminar.

  • Exámenes:

    • Método POST: localhost:8080/api/Test. Este recibe como parámetro una estructura de tipo JSON, como se muestra:

      {
          "name": "Nombre del exámen",
          "description": "Definición"
      }
      
    • Método GET (general): localhost:8080/api/controller/Test. Este muestra una lista general del total de los exámenes registrados.

    • Método GET (por ID de exámen): localhost:8080/api/controller/Test/xxx. Este recibe como parámetro el ID de un exámen y muestra sus respectivos atributos.

    • Método PUT: localhost:8080/api/controller/Test. Este recibe como parámetro una estructura de tipo JSON, como se muestra:

      {
          "id_test": 1,
          "name": "Nombre del exámen",
          "description": "Definición"
      }
      

      donde el id_test debe corresponder a un ID existente.

    • Método Delete: localhost:8080/api/controller/Test/xxx. Este recibe como parámetro el ID del exámen que se desea eliminar.

  • Citas:

    • Método POST: localhost:8080/api/controller/Appointment. Este recibe como parámetro una estructura de tipo JSON, como se muestra:

      {
          "date": "28/11/2022",
          "hour": "12:10",
          "affiliate": {
              "id_affiliate": 1
          },
          "test": {
              "id_test": 1
          }
      }
      
    • Método GET (general): localhost:8080/api/controller/Appointment. Este muestra una lista general del total de los citas registradas.

    • Método GET (por ID de exámen): localhost:8080/api/controller/Appointment/xxx. Este recibe como parámetro el ID de una cita y muestra sus respectivos atributos.

    • Método PUT: localhost:8080/api/controller/Appointment. Este recibe como parámetro una estructura de tipo JSON, como se muestra:

      {
          "id": 1,
          "date": "13/11/2022",
          "hour": "07:10",
          "affiliate": {
              "id_affiliate": 1
          },
          "test": {
              "id_test": 1
          }
      }
      

      donde el id_appointment debe corresponder a un ID existente.

    • Método Delete: localhost:8080/api/controller/Appointment/xxx. Este recibe como parámetro el ID de la cita que se desea eliminar.

Es importante mencionar que cada uno de los controladores de la API cuenta con Tests unitarios con un Coverage del 100 %, desarrollados haciendo uso de JUnit5 y Mockito.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages