FastAPI: API开发的超音速选手 Python 库!
大家好!今天我要和你们分享一个超级强大的Python库 - FastAPI。它是一个现代、快速(高性能)的web框架,用于构建API。如果你想快速开发高效的API,FastAPI绝对是你的不二之选。它不仅速度快,而且易于使用,让我们一起来探索这个神奇的工具吧!
什么是FastAPI?
FastAPI是一个用于构建API的现代、快速(高性能)的web框架,基于Python 3.6+的标准类型提示。它的主要特点是速度快、编码快、bug少、直观简单。
FastAPI的名字就说明了它的两个主要特点:1. 快速开发 :它能让你以非常快的速度来开发项目。2. 快速运行 :它的性能非常高,可以与NodeJS和Go相媲美。安装FastAPI
在开始使用FastAPI之前,我们需要先安装它。打开你的终端,输入以下命令:
pip install fastapipip install uvicorn
这里我们不仅安装了FastAPI,还安装了uvicorn。uvicorn是一个ASGI服务器,我们用它来运行我们的FastAPI应用。
创建你的第一个FastAPI应用
让我们开始创建一个简单的FastAPI应用吧!创建一个名为
main.py
的文件,并输入以下代码:
from fastapi import FastAPIapp = FastAPI()@app.get(“/”)async def root():return {“message”:“Hello World”}
这段代码做了什么呢?
-
我们导入了
FastAPI类。 -
创建了一个
app实例。 -
使用
@app.get(“/”)装饰器定义了一个路径操作。 -
定义了一个异步函数
root(),它返回一个字典。
运行你的FastAPI应用
现在,让我们来运行这个应用。在终端中输入:
uvicorn main:app --reload
这个命令告诉uvicorn运行
main.py
文件中的
app
对象,
--reload
参数让服务器在代码变化时自动重启。
打开你的浏览器,访问
http://127.0.0.1:8000
,你应该能看到一个JSON响应:
{“message”:“Hello World”}
恭喜你!你已经成功创建并运行了你的第一个FastAPI应用!
路径参数
FastAPI允许你轻松地使用路径参数。让我们修改一下我们的代码:
这里我们添加了一个新的路径from fastapi import FastAPIapp = FastAPI()@app.get(“/”)async def root():return {“message”:“Hello World”}@app.get(“/hello/{name}”)async def say_hello(name:str):return {“message”:f“Hello {name}”}
/hello/{name}
,其中
{name}
是一个路径参数。当你访问
http://127.0.0.1:8000/hello/Alice
时,你会看到:
{“message”:“Hello Alice”}
查询参数
FastAPI也支持查询参数。让我们再添加一个函数:
现在,当你访问@app.get(“/items”)async def read_item(skip:int = 0, limit:int = 10):return {“skip”:skip, “limit”:limit}
http://127.0.0.1:8000/items?skip=20&limit=30
时,你会看到:
{“skip”:20, “limit”:30}
如果你不提供这些参数,它会使用默认值。
请求体
对于POST请求,我们经常需要发送一些数据。在FastAPI中,我们可以使用Pydantic模型来定义请求体:
这段代码定义了一个from fastapi import FastAPIfrom pydantic import BaseModelapp = FastAPI()class Item(BaseModel):name:strprice:floatis_offer:bool = None@app.post(“/items”)async def create_item(item:Item):return {“item_name”:item.name, “item_price”:item.price}
Item
模型和一个接受这个模型作为请求体的POST端点。
自动生成API文档
FastAPI的一个令人惊叹的特性是它能自动生成交互式API文档。只需启动你的应用,然后访问
/docs
路径。你会看到一个漂亮的Swagger
UI界面,在这里你可以查看和测试你的所有API端点。
小贴士:FastAPI还在
/redoc
路径提供了另一种风格的文档。
总结
今天我们学习了FastAPI的基础知识,包括如何安装它,创建一个简单的应用,使用路径参数和查询参数,处理请求体,以及如何查看自动生成的API文档。FastAPI还有很多强大的功能等待我们去探索,比如依赖注入、安全性、后台任务等。
小伙伴们,今天的Python学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问哦。祝大家学习愉快,Python学习节节高