FastAPI入门:安装、Pydantic、并发和并行
本系列参考FastAPI官方文档:https://fastapi.tiangolo.com/zh/python-types/
安装
使用pip安装:
pip install fastapi
此外还需要 ASGI 服务器,生产环境可以使用 Uvicorn 或者 Hypercorn。
ASGI服务器:异步服务网关接口,处理网络协议(HTTP/WebSocket等),将请求转发给FastAPI应用。相当于Tomcat
pip install "uvicorn[standard]"
Pydantic
Pydantic 是 FastAPI 的核心依赖库,用于实现 结构化数据验证和数据转换,相当于 Java 中的 Bean Validation (JSR ) 的声明式验证机制,但功能更强大
并发、并行
概念 | 核心思想 |
---|---|
并发 (Concurrency) | 同时管理多个任务,但不一定同时执行(通过任务切换实现) |
并行 (Parallelism) | 同时执行多个任务,需要多核/多CPU硬件支持 |
在需要大量等待的场景下,并发性能更好。因此在Web场景中需要使用异步编程(实现并发的一种手段)
异步编程
使用await关键字实现异步编程:
burgers = await get_burgers(2)
await关键字必须用于async def声明的协程函数中:
async def get_burgers(number: int):# Do some asynchronous stuff to create the burgersreturn burgers
协程函数调用时必须使用await关键字
@app.get('/burgers')
async def read_burgers():burgers = await get_burgers(2)return burgers