焦小花同学

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”}

这段代码做了什么呢?

  1. 我们导入了 FastAPI 类。
  2. 创建了一个 app 实例。
  3. 使用 @app.get(“/”) 装饰器定义了一个路径操作。
  4. 定义了一个异步函数 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:str    price:float    is_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学习节节高