Este proyecto utiliza:
. Java 17 SDK (se recomienda su gestión con SDKMan) . Spring-Boot Framework
Para construir el proyecto ejecuté:
./mvnw clean package -X
Para correr el proyecto ejecuté:
./mvnw spring-boot:run
Esta API proporciona endpoints para administrar datos geográficos como países, estados y ciudades. Utiliza listas en memoria para almacenar los datos, sin requerir una base de datos.
GET /api/v1/city
Retorna todas las ciudades almacenadas.
GET /api/v1/city/{id}
Retorna los detalles de una ciudad específica basada en su ID.
POST /api/v1/city
Crea una nueva ciudad con los detalles proporcionados en el cuerpo de la solicitud.
{
"name": "Nueva Ciudad",
"stateId": 1
}
PUT /api/v1/city/{id}
Actualiza los detalles de una ciudad existente basada en su ID, utilizando los datos proporcionados en el cuerpo de la solicitud.
{
"name": "Ciudad Actualizada",
"stateId": 2
}
GET /api/v1/country
Retorna todos los países almacenados.
GET /api/v1/country/{id}
Retorna los detalles de un país específico basado en su ID.
POST /api/v1/country
Crea un nuevo país con los detalles proporcionados en el cuerpo de la solicitud.
{
"name": "Nuevo País"
}
PUT /api/v1/country/{id}
Actualiza los detalles de un país existente basado en su ID, utilizando los datos proporcionados en el cuerpo de la solicitud.
{
"name": "País Actualizado"
}
GET /api/v1/state
Retorna todos los estados almacenados.
GET /api/v1/state/{id}
Retorna los detalles de un estado específico basado en su ID.
POST /api/v1/state
Crea un nuevo estado con los detalles proporcionados en el cuerpo de la solicitud.
{
"name": "Nuevo Estado",
"countryId": 1
}
PUT /api/v1/state/{id}
Actualiza los detalles de un estado existente basado en su ID, utilizando los datos proporcionados en el cuerpo de la solicitud.
{
"name": "Estado Actualizado",
"countryId": 2
}
POST http://localhost:8080/api/v1/table
Agrega un pais a la lista de paises seleccionados con los detalles proporcionados en el cuerpo de la solicitud.
[
{
"id": 1,
"country": {
"id": 1,
"name": "Spain"
},
"state": {
"id": 1,
"name": "Madrid",
"countryId": 1
},
"city": {
"id": 1,
"name": "Madrid",
"stateId": 1
}
}
]
-
Clona el repositorio.
-
Ejecuta la aplicación.
-
Utiliza tu cliente HTTP favorito (por ejemplo, Postman) para realizar las solicitudes a los diferentes endpoints. Los archivos con las solicitudes correspondientes se encuentran en la carpeta
/http
.