2025-03-09 15:38:44 -04:00

127 lines
2.9 KiB
JSON

{
"openapi": "3.0.1",
"info": {
"title": "RestaurantAPI",
"version": "1.0"
},
"paths": {
"/api/restaurants": {
"get": {
"tags": [
"Restaurant"
],
"parameters": [
{
"name": "latitude",
"in": "query",
"schema": {
"type": "number",
"format": "double",
"default": 25.7617
}
},
{
"name": "longitude",
"in": "query",
"schema": {
"type": "number",
"format": "double",
"default": -80.1918
}
},
{
"name": "radius",
"in": "query",
"schema": {
"type": "integer",
"format": "int32",
"default": 5000
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Restaurant"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Restaurant"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Restaurant"
}
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"Restaurant": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"placeId": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"nullable": true
},
"latitude": {
"type": "number",
"format": "double"
},
"longitude": {
"type": "number",
"format": "double"
},
"rating": {
"type": "number",
"format": "double"
},
"priceLevel": {
"type": "integer",
"format": "int32",
"nullable": true
},
"photoReference": {
"type": "string",
"nullable": true
},
"googleMapsUrl": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
}
}
}
}