初学者上手FastAPI:其实没那么难

文摘   2025-01-01 17:14   山东  

初学者上手FastAPI:其实没那么难

你听说过FastAPI吗?听名字可能觉得挺厉害的,对吧?不过,千万别被名字吓到,这东西其实学起来没那么复杂。今天咱们一步步看看怎么上手这个传说中的“超快API框架”。

什么是FastAPI?

FastAPI,简单来说,就是一个用来写API的工具,特别适合用Python的人。它特点就是“快”,不仅仅是性能好,写起来也很快。有多快?比你冲咖啡的速度可能都快。

安装FastAPI

别慌,先从最简单的开始。第一步,我们得先装上这个框架。打开你的命令行,然后敲下这行命令:

pip install fastapi

完事了!不过,只有FastAPI还不够,你还需要一个ASGI服务器来运行它,比如说uvicorn:

pip install uvicorn

最简单的FastAPI应用

OK,现在准备好环境了,咱们来写一个“Hello, World”的API吧。三行代码搞定,认真看:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    return {"Hello": "World"}

看见没?这就是一个能跑的API了。这几行代码做了啥呢?简单说,它创建了一个API,访问根路径/的时候,会返回{"Hello": "World"}。你不信?跑起来看看。

运行API

继续,打开命令行,然后运行下面的命令:

uvicorn main:app --reload

这里要注意了,main是你的文件名,别写错了。运行成功的话,你会看到类似这样的提示:

INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

接下来,打开浏览器,输入http://127.0.0.1:8000,回车!你应该能看到熟悉的{"Hello": "World"}出现在网页上。嗯,你的第一个FastAPI项目跑起来了!

加点料:带参数的请求

OK,基础知道了,那咱们加点难度。比如你想让API根据传入的参数返回不同的结果,怎么做?简单,把刚才的代码改一改:

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

看到了吧?我们现在有了一个带参数的路由。访问/items/5?q=somequery试试看,API会返回这样的结果:

{
    "item_id": 5,
    "q": "somequery"
}

这就相当于你能处理带有不同参数的请求了,配合查询参数和路径参数非常方便。

最后说两句

其实FastAPI还有很多强大的功能,比如数据校验、依赖注入、异步支持等等,今天讲的只是最基础的一部分。不过你不用担心,一步步来,迟早会掌握的。最关键的是,别怕试错,多写点代码比什么都强。希望这篇文章能帮你入门FastAPI,有问题多查查文档,基本都能找到答案。

就这些了,加油写代码吧!


小栗食养
日拱一卒,每天精进!
 最新文章