初学者上手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,有问题多查查文档,基本都能找到答案。
就这些了,加油写代码吧!