FastAPI是一个,并发性能可以和 NodeJS 以及 Go 相媲美。它是基于Starlette框架, 类似于Starlette 的一个子类。
本人最近也是一直在使用和学习 FastApi,相比之前用的框架性能确实有很大的提升,用完后有如下几点感受:
- 性能并发更强了,支持异步 async
- 基于 Pydantic 的类型声明,自动校验参数
- 自动生成交互式的 API 接口文档
- 上手简单,能快速编码
上手快是真的,上班期间零零散散的看了两天文档,就将现有的一个服务改成 FastApi 服务了,配合 gunicorn+uvicorn 部署,最近测试也没出现什么问题。
由于之前 Flask 用的比较多,在 FastAPI 上隐隐约约能看到 Flask 的影子,两者的设计范式很类似。
例如:更大的应用服务多文件多 url 处理功能,在 Flask 中称之为蓝图的,对应 FastApI 中的 APIRouter
使用 APIRouter
上面说过和 Flask 非常的类似,比如创建一个简单的 FastAPI 服务
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def index():
return "Hello world"
@app.get("/items/{item_id}")
async def read_item(item_id: str, q: str = None, short: bool = False):
item = {
FastAPI实战心得

本文分享了作者使用FastAPI框架的心得体会,强调其性能、易用性和强大的文档生成能力。文章详细介绍了如何利用APIRouter进行模块化路由管理,提高代码可维护性。
最低0.47元/天 解锁文章
895





