Descripción
Escenario
Endpoints - Ubicaciones
Endpoints - Clima
Esta es una API REST desarrollada en golang para obtener información sobre el clima de ubicaciones específicas.
Para lograr el cometido, la API persiste en formato json una lista de ubicaciones establecidas por el usuario de la misma. Luego se puede consultar en simultáneo la información climática para toda la lista.
localhost:8080/ping
Response code: 200 Response body:
{
"mensaje": "pong!"
}
localhost:8080/ip
OK | Error interno | |
---|---|---|
Response code | 200 | 500 |
Response body | 1* | 2* |
Response body: (1)
{
"mensaje" : "179.0.238.1"
}
}
Response body: (2)
{
"mensaje": "Error al obtener su IP"
}
localhost:8080/location
OK | Error interno | |
---|---|---|
Response code | 200 | 500 |
Response body | 1* | 2* |
Response body: (1)
{
"Status": "success",
"Data": {
"subdivision_1_name": "Cordoba",
"city_name": "Almafuerte",
"latitude": "-32.15560",
"longitude": "-64.23890"
}
}
Response body: (2)
{
"mensaje": "Error al obtener su ubicación"
}
localhost:8080/locations
OK | No encontrado | Error interno | |
---|---|---|---|
Response code | 200 | 404 | 500 |
Response body | 1* | 2* | 3* |
Response body: (1)
[
{
"id": "236294580",
"name": "Río Tercero, Pedanía Yucat, Departamento General San Martín, Córdoba, X5900, Argentina",
"lat": "-32.3760926",
"lon": "-63.450102"
},
...
}
Response body: (2)
{
"mensaje": "No hay ubicaciones cargadas"
}
Response body: (3)
{
"mensaje": "Error al obtener los datos de la base de datos"
}
localhost:8080/locations/{id}
OK | No encontrado | Error interno | |
---|---|---|---|
Response code | 200 | 404 | 500 |
Response body | 1* | 2* | 3* |
Response body: (1)
{
"id": "236689588",
"name": "Almafuerte, Municipio de Almafuerte, Pedanía Salto, Departamento Tercero Arriba, Córdoba, X5854, Argentina",
"lat": "-32.1917687",
"lon": "-64.255066"
}
Response body: (2)
{
"mensaje": "Ubicación no encontrada"
}
Response body: (3)
{
"mensaje": "Error al obtener los datos de la base de datos"
}
localhost:8080/location
Request body:
{
"City": "Rio Tercero",
"State": "Cordoba",
"Country": "Argentina"
}
OK | Ubicación existente | Datos inválidos | |
---|---|---|---|
Response code | 201 | 400 | 400 |
Response body | 1* | 2* | 3* |
Response body: (1)
{
"message": "Ubicación agregada con éxito"
}
Response body: (2)
{
"message": "La ubicación ya se encuentra registrada"
}
Response body: (3)
{
"message": "JSON inválido"
}
localhost:8080/location/{id}
OK | No encontrado | Error interno | |
---|---|---|---|
Response code | 204 | 404 | 500 |
Response body | 1* | 2* |
Response body: (1)
{
"message": "Ubicación no encontrada"
}
Response body: (2)
{
"Error al borrar la ubicación"
}
localhost:8080/location
Request body:
{
"City": "Rio Tercero",
"State": "Cordoba",
"Country": "Argentina"
}
OK | No encontrado | Error interno | |
---|---|---|---|
Response code | 200 | 404 | 500 |
Response body | 1* | 2* | 3* |
Response body: (1)
{
"message": "Ubicación actualizada con éxito"
}
Response body: (2)
{
"Ubicación no encontrada"
}
Response body: (3)
{
"Error al actualizar la ubicación"
}
localhost:8080/weather
OK | No encontrado | Error interno | |
---|---|---|---|
Response code | 200 | 500 | 500 |
Response body | 1* | 2* | 3* |
Response body: (1)
{
"weather": [
{
"description": "scattered clouds"
}
],
"main": {
"temp": 29.28,
"feels_like": 31.15,
"humidity": 58
},
"name": "Almafuerte"
}
Response body: (2)
{
"mensaje": "Error al obtener su ubicación"
}
Response body: (3)
{
"mensaje": "Error al obtener el clima"
}
localhost:8080/weather/{id}
OK | No encontrado | Error interno | |
---|---|---|---|
Response code | 200 | 404 | 500 |
Response body | 1* | 2* | 3* |
Response body: (1)
{
"weather": [
{
"description": "scattered clouds"
}
],
"main": {
"temp": 29.28,
"feels_like": 31.15,
"humidity": 58
},
"name": "Almafuerte"
}
Response body: (2)
{
"mensaje": "Ubicación no encontrada"
}
Response body: (3)
{
"mensaje": "Error al obtener el clima"
}
localhost:8080/allWeathers/
OK | No encontrado | Error interno | |
---|---|---|---|
Response code | 200 | 404 | 500 |
Response body | 1* | 2* | 3* |
Response body: (1)
[
{
"weather": [
{
"description": "scattered clouds"
}
],
"main": {
"temp": 29.28,
"feels_like": 31.15,
"humidity": 58
},
"name": "Almafuerte"
},
...
]
Response body: (2)
{
"mensaje": "No hay ubicaciones cargadas"
}
Response body: (3)
{
"mensaje": "Error al obtener el clima"
}