FastAPI 教程

1.5 第一个 FastAPI 应用:Hello World

FastAPI入门教程:第一个Hello World应用(Python初学者)

FastAPI 教程

本教程面向有基础Python知识的初学者,带你从零开始创建第一个FastAPI应用——Hello World。通过生活化类比和详细步骤,快速上手Web开发,建立信心。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

第一个 FastAPI 应用:Hello World

欢迎来到FastAPI的世界!如果你是Python新手,但对Web开发充满好奇,那么这个教程是为你量身定制的。我们将从零开始,一步一步教你创建一个简单的“Hello World”应用,让你在几分钟内体验成功的喜悦。不用担心理论太多,我们专注于动手实践,用生活中的例子来解释概念,帮你快速建立信心。

为什么选择FastAPI?

想象一下,你要开一家小餐厅。Web框架就像餐厅的运营系统——它负责处理顾客的点餐请求并快速送上美食。FastAPI就是那个高效的“厨师”,它能快速响应客户(即用户的浏览器请求),并且代码写起来简单易懂。对于初学者来说,FastAPI的语法直观,文档友好,是入门Web开发的绝佳选择。

第一步:安装必要的工具

在开始编码之前,我们需要安装两个东西:FastAPI框架和一个叫uvicorn的服务器。这就像准备厨房设备和食材一样简单。

打开你的命令行(比如终端或命令提示符),输入以下命令:

pip install fastapi uvicorn

如果你遇到问题,确保Python已经正确安装。如果pip命令失败,可以尝试使用pip3或参考Python官方文档。安装完成后,就准备好了“厨房”!

第二步:创建你的第一个FastAPI应用

现在,让我们动手写代码。创建一个新的Python文件,命名为main.py(这个名字可以随意,但保持简单)。打开你喜欢的代码编辑器(如VS Code或PyCharm),然后输入以下代码:

from fastapi import FastAPI  # 导入FastAPI,就像引入餐厅的菜单系统

app = FastAPI()  # 创建一个FastAPI实例,这就像设置餐厅的运营中心

@app.get("/")  # 定义一个路由,告诉应用当用户访问首页(根路径)时该做什么
                  # 这就像在餐厅菜单上添加“欢迎光临”这个选项

def read_root():
    return {"message": "Hello World"}  # 返回一个简单的JSON响应,就像服务员送上问候

让我解释一下这段代码:

  • 导入FastAPI:这就像告诉Python我们要使用FastAPI这个工具。
  • 创建appapp是FastAPI应用的核心,所有路由都挂载在它上面。
  • @app.get("/"):这是一个装饰器,它定义了当用户用GET方法访问网站的根目录(/)时,调用哪个函数。类比到餐厅,GET就像顾客点餐时浏览菜单,而/就是餐厅的入口。
  • 函数read_root:这个函数处理请求,并返回一个字典。在Web开发中,返回JSON数据很常见,因为它易于浏览器和应用程序处理。这里,我们返回{"message": "Hello World"},就像厨师端出一盘简单的开胃菜。

第三步:运行你的应用

代码写好了,现在让它“活”起来!回到命令行,确保你在main.py文件所在的目录下。然后运行这个命令:

uvicorn main:app --reload

解释一下这个命令:

  • uvicorn是我们安装的服务器,它负责在后台运行FastAPI应用。
  • main:app指定了要运行的模块和实例——main是文件名(不带.py),app是我们在代码中创建的实例。
  • --reload参数表示在开发模式下,当你修改代码时,服务器会自动重启,方便调试。就像餐厅有自动补货系统,节省你的时间。

运行后,你会看到类似这样的输出:

INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [12345]
INFO:     Started server process [12346]

恭喜!你的第一个FastAPI应用已经在本地运行起来了。服务器监听在http://127.0.0.1:8000,这是你的“虚拟餐厅”地址。

第四步:访问你的应用并体验成功

打开你的网络浏览器,在地址栏输入:

http://127.0.0.1:8000

如果一切顺利,你会看到一个页面显示JSON数据:

{
  "message": "Hello World"
}

成功时刻:看!你的代码已经工作起来了。这就像你第一次成功开了一家小餐厅,顾客(浏览器)进来,你送上了问候。是不是很简单?

加深理解:用生活化类比解释概念

  • 路由(Routes):在FastAPI中,路由就像餐厅的菜单项。每个URL路径(如/)对应一个特定的功能。当我们访问/,FastAPI调用read_root函数,就像顾客点“欢迎光临”这道菜。
  • 端点(Endpoints):路由的具体实现,比如@app.get("/")定义了一个GET端点。类比到餐厅,端点就是菜单上的具体菜品,如“汉堡”或“沙拉”。
  • 请求方法(HTTP Methods):GET是其中一种方法,用于获取数据。就像顾客浏览菜单(GET)或下单(POST)。

第五步:更多简单示例,建立更多信心

让我们添加一些更有趣的功能,巩固你的学习。在同一个main.py文件中,添加以下代码:

@app.get("/greet/{name}")  # 定义一个带路径参数的路由,就像菜单上可以定制化的菜品
def greet(name: str):  # name是一个路径参数,FastAPI会自动处理类型
    return {"greeting": f"Hello, {name}!"}  # 返回个性化问候,使用f-string格式化字符串

保存文件,由于我们使用了--reload,服务器会自动重启。现在,在浏览器中访问:

http://127.0.0.1:8000/greet/Alice

你会看到:

{
  "greeting": "Hello, Alice!"
}

另一个成功时刻:看!你刚刚创建了一个可以动态响应的端点。试试把Alice换成你自己的名字,体验即时反馈。这就像餐厅提供定制服务,顾客(用户)输入不同名字,你送出不同问候。

总结和下一步

你已经成功创建了第一个FastAPI应用!回顾一下,我们学到了:

  1. 安装FastAPI和uvicorn。
  2. 创建一个简单应用并定义路由。
  3. 运行服务器并在浏览器中访问。
  4. 通过类比理解关键概念。
  5. 扩展应用,添加更多功能。

FastAPI的魔力在于它的简洁和强大。鼓励你继续探索:尝试修改代码,比如添加POST请求、处理表单数据或连接数据库。记住,每一次小成功都会积累你的信心。

如果你遇到问题,不要犹豫,查阅FastAPI官方文档,它非常友好且详细。现在,去享受你的Web开发之旅吧——你的“虚拟餐厅”已经开张了!

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包