我想定义一个从文本文件生成的 dict 变量一次,并用它来响应 API 请求。
该变量应该始终可用,直到服务器运行结束。
在下面的示例中:
from fastapi import FastAPI
import uvicorn
app = FastAPI()
def init_data(path):
print("init call")
data = {}
data[1] = "123"
data[2] = "abc"
return data
data = init_data('path')
@app.get('/')
def example_method():
# data is defined
return {'Data': data[1]}
if __name__ == '__main__':
uvicorn.run(f'example_trouble:app', host='localhost', port=8000)
Run Code Online (Sandbox Code Playgroud)
我会得到:
init call
init call
INFO: Started server process [9356]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://localhost:8000 (Press CTRL+C to quit)
Run Code Online (Sandbox Code Playgroud)
向 …