FastAPI 有两个依赖支持:
- Starlette负责网络
- Pydantic负责数据
安装:
安装命令
pip install fastapi
FastAPI 还需要ASGI服务器,生产环境下可以使用Uvicorn
pip install uvicorn[standard]
也可以使用以下命令安装所有依赖支持的库:
#该命令还安装了运行FastAPI应用的服务器 -uvicorn
pip install fastapi[all]
运行:
最简单的FastAPI文件所示如下:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {'message': "Hello World"}
复制代码到 main.py
运行代码:
uvicorn main:app --reload
运行命令说明:
- main:
main.py
是python 模块 - app:
main.py
中app = FastAPI()
创建的对象 - --reload:代码更新后,重启服务器,仅在开发时使用
也可以在main.py
里加上这段代码,然后python main.py
运行
import uvicorn
if __name__ == '__main__':
uvicorn.run('main:app', reload=True, host='127.0.0.1', port=8000)
API文档:
通过访问 http://127.0.0.1:8000/docs
可以查看自动生成的API文档。
创建FastAPI的基本步骤
第一步:导入FastAPI
FastAPI是继承了Starlette的类
FastAPI可以调用Starlette的所有功能
第二步:创建FastAPI实例
变量app是FastAPI的类实例,该实例是创建API的主要交互对象。
第三步:创建路径操作
路径是指URL的第一个反斜杠(/)及之后的内容。
https://example.com/items/foo
/items/foo 表示路径或路由或端点
操作是指HTTP方法,常用的方法如下:
- POST :创建数据
- GET :读取数据
- PUT :更新数据
- DELETE :删除数据
@app.get("/")告诉FastAPI下方函数以如下方式处理访问请求:
- 请求路径为
/
- 使用
get
操作
@app 语法是python装饰器
装饰器接收到下方函数,并用它执行一些操作,
本例中,这个装饰器告诉FastAPI下方函数对应的路径是 / 和 get 操作,这就是路径操作装饰器。
第四步:定义路径操作和函数
路径操作函数由以下几部分组成:
- 路径:
/
- 操作:
get
- 函数: 装饰器下方的函数
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
FastAPI每次接收使用get方法访问URL /
的请求时都会调用这个函数。本例中的路径操作函数是异步函数(async)
也可以不使用异步函数,例如:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
return {"message": "Hello World"}
第五步:返回内容
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
路径操作函数可以返回字典、列表以及字符串、整数等单值。
还可以返回Pydantic模型
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?