API para gestionar información de equipos de fútbol. Desarrollada con Spring Boot 3. Securizada con Spring Security.
Instrucciones para clonar el repositorio, instalar las dependencias y ejecutar el proyecto.
git clone https://github.com/mateoymichis/equipos-futbol.git
cd equipos-futbol
./mvnw spring-boot:run
También se puede ejecutar el proyecto, luego de clonarlo, utilizando un IDE de Java.
La API se ejecutará en el puerto 8080 (se puede cambiar el puerto desde application.properties
).
Las peticiones a /equipos
, se encuentran securizadas, por lo que primero se deberá registrar un usuario en la app y utilizar el token de la respuesta para que las peticiones sean exitosas.
El proyecto está destinado a pruebas, por lo que se puede acceder a la documentación de Swagger (http://localhost:8080/swagger-ui/index.html) y a la base de datos en memoria H2 (http://localhost:8080/h2-console) sin autenticarse.
Método | Endpoint | Descripción |
---|---|---|
PUT | /auth/register | Registrar usuario |
PUT | /auth/login | Iniciar sesión |
GET | /equipos | Obtener una lista con todos los equipos |
GET | /equipos/{id} | Obtener equipo |
POST | /equipos | Crear equipo |
PUT | /equipos | Actualizar equipo |
DELETE | /equipos | Eliminar equipo |
GET | /equipos?nombre={valor} | Buscar equipo |
PUT /auth/register
{
"username": "test",
"password": "12345",
"firstname": "Juan",
"lastname": "Perez",
"email": "[email protected]"
}
{
"token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0IiwiaWF0IjoxNzEzNjIyODYyLCJleHAiOjE3MTM2MjQzMDJ9.NjoCoezA1VF6MXULzDO_Ozjjco05-JK5OMYSTWVqyos"
}
PUT /auth/login
{
"username": "test",
"password": "12345"
}
{
"token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0IiwiaWF0IjoxNzEzNjIyODYyLCJleHAiOjE3MTM2MjQzMDJ9.NjoCoezA1VF6MXULzDO_Ozjjco05-JK5OMYSTWVqyos"
}
GET /equipos
[
{
"id": 2,
"nombre": "FC Barcelona",
"liga": "La Liga",
"pais": "España"
},
{
"id": 3,
"nombre": "Manchester United",
"liga": "Premier League",
"pais": "Inglaterra"
}
// Otros equipos...
]
GET /equipos/1
{
"id": 2,
"nombre": "FC Barcelona",
"liga": "La Liga",
"pais": "España"
}
{
"mensaje": "Equipo no encontrado",
"codigo": 404
}
POST /equipos
{
"nombre": "Boca Juniors",
"liga": "Primera A",
"pais": "Argentina"
}
{
"id": 25,
"nombre": "Boca Juniors",
"liga": "Primera A",
"pais": "Argentina"
}
{
"mensaje": "La solicitud es invalida",
"codigo": 400
}
PUT /equipos/1
{
"nombre": "Boca Juniors",
"liga": "Primera A",
"pais": "Argentina"
}
{
"id": 1,
"nombre": "Boca Juniors",
"liga": "Primera A",
"pais": "Argentina"
}
{
"mensaje": "Equipo no encontrado",
"codigo": 404
}
DELETE /equipos/1
{
"mensaje": "Equipo no encontrado",
"codigo": 404
}
GET /equipos?nombre={valor}
[
{
"id": 2,
"nombre": "FC Barcelona",
"liga": "La Liga",
"pais": "España"
},
{
"id": 3,
"nombre": "Manchester United",
"liga": "Premier League",
"pais": "Inglaterra"
}
// Otros equipos...
]
Mateo Fernandez
Email: [email protected]