import json
import uvicorn
from typing import Optional
from fastapi import FastAPI

app = FastAPI()


@app.get("/")
def read_root():
    return {"Hello": "World"}


@app.get("/items/{item_id}")
def read_item(item_id: int, q: Optional[str] = None):
    return {"item_id": item_id, "q": q}


@app.get("/json")
def get_json():
    result = { "xxx": "started by cpython" }

    if result:
        result = json.loads(result)

    return result


def start_server():
    print("start web service....")
    uvicorn.run(app='fastapi_main:app', host="0.0.0.0", port=58000, reload=True, log_level="info", workers=1)


if __name__ == '__main__':
    start_server()