安装
pip install fastapi
pip install uvicorn
示例
from fastapi import FastAPI
app = FastAPI() # 必须实例化该类,启动的时候调用
@app.get('/')
def index():
return {'message': 'Hello FastApi!'}
命令启动FastApi
进到 py 文件所处目录下的命令行运行
uvicorn main:app
使用 uvicorn.run()
from fastapi import FastAPI
app = FastAPI()
@app.get('/')
def index():
return {'message': 'Hello FastApi!'}
if __name__ == '__main__':
uvicorn.run(app="main:app", host="127.0.0.1", port=8000, reload=True, debug=True)
Get 请求
@app.get('/query/{uid}')
def query(uid: int):
msg = f'你查询的 uid 为:{uid}'
return {'success': True, 'msg': msg}
注意如果 uid 必须是 int类型,那么直接用 uid: int 就好,模块会自动判断
Post 请求
post 请求中的参数类型限制,就需要用到继承类修改 from pydantic import BaseModel
from pydantic import BaseModel
class People(BaseModel): # 必须继承
name: str
age: int
@app.post('/insert')
def insert(people: People):
msg = f'姓名:{people.name},年龄:{people.age}'
return {'success': True, 'msg': msg}
快速文档
自动生成的交互式 API 文档
服务器部署
利用 uvicorn 在服务器运行
uvicorn main:app --host 0.0.0.0 --port 80
挂起运行
nohup uvicorn main:app --host 0.0.0.0 --port 80 >/dev/null 2>&1 &