安装

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 文档

http://127.0.0.1:8000/docs
http://127.0.0.1:8000/redoc

服务器部署

利用 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 &