Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion webapp/.well-known/openapi.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"openapi": "3.0.2", "info": {"title": "FastAPI", "version": "0.1.0"}, "paths": {"/": {"get": {"summary": "Root", "description": "Allows to open the API documentation in the browser directly instead of\nrequiring to open the /docs path.", "operationId": "root__get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}, "/countries": {"get": {"summary": "Countries", "operationId": "countries_countries_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}, "/countries/{country}": {"get": {"summary": "Cities", "operationId": "cities_countries__country__get", "parameters": [{"required": true, "schema": {"title": "Country", "type": "string"}, "name": "country", "in": "path"}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/countries/{country}/{city}/{month}": {"get": {"summary": "Monthly Average", "operationId": "monthly_average_countries__country___city___month__get", "parameters": [{"required": true, "schema": {"title": "Country", "type": "string"}, "name": "country", "in": "path"}, {"required": true, "schema": {"title": "City", "type": "string"}, "name": "city", "in": "path"}, {"required": true, "schema": {"title": "Month", "type": "string"}, "name": "month", "in": "path"}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}}, "components": {"schemas": {"HTTPValidationError": {"title": "HTTPValidationError", "type": "object", "properties": {"detail": {"title": "Detail", "type": "array", "items": {"$ref": "#/components/schemas/ValidationError"}}}}, "ValidationError": {"title": "ValidationError", "required": ["loc", "msg", "type"], "type": "object", "properties": {"loc": {"title": "Location", "type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}}, "msg": {"title": "Message", "type": "string"}, "type": {"title": "Error Type", "type": "string"}}}}}}
{"openapi": "3.1.0", "info": {"title": "FastAPI", "version": "0.1.0"}, "paths": {"/": {"get": {"summary": "Root", "description": "Allows to open the API documentation in the browser directly instead of\nrequiring to open the /docs path.", "operationId": "root__get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}, "/countries": {"get": {"summary": "Countries", "operationId": "countries_countries_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}, "/countries/{country}/{city}/{month}": {"get": {"summary": "Monthly Average", "operationId": "monthly_average_countries__country___city___month__get", "parameters": [{"name": "country", "in": "path", "required": true, "schema": {"type": "string", "title": "Country"}}, {"name": "city", "in": "path", "required": true, "schema": {"type": "string", "title": "City"}}, {"name": "month", "in": "path", "required": true, "schema": {"type": "string", "title": "Month"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/countries/{country}": {"get": {"summary": "Cities", "operationId": "cities_countries__country__get", "parameters": [{"name": "country", "in": "path", "required": true, "schema": {"type": "string", "title": "Country"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/cities": {"get": {"summary": "Cities", "operationId": "cities_cities_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}}, "components": {"schemas": {"HTTPValidationError": {"properties": {"detail": {"items": {"$ref": "#/components/schemas/ValidationError"}, "type": "array", "title": "Detail"}}, "type": "object", "title": "HTTPValidationError"}, "ValidationError": {"properties": {"loc": {"items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "type": "array", "title": "Location"}, "msg": {"type": "string", "title": "Message"}, "type": {"type": "string", "title": "Error Type"}}, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError"}}}}
16 changes: 16 additions & 0 deletions webapp/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,22 @@ def countries():
def monthly_average(country: str, city: str, month: str):
return data[country][city][month]

#return cities
@app.get('/countries/{country}')
def cities(country: str):
return list(data[country].keys())

#return cities for all countries
@app.get('/cities')
def cities():
cities = []
for country in data:
for city in data[country]:
cities.append(city)
return



# Generate the OpenAPI schema:
openapi_schema = app.openapi()
with open(join(wellknown_path, "openapi.json"), "w") as f:
Expand Down