FastAPI 基本路由
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,与 Python 3.6+ 类型提示一起使用。它是一个轻量级的框架,但功能强大,能够提供高效的开发体验和出色的性能。在本文中,我们将探讨 FastAPI 的基本路由概念,并了解如何使用它们来构建 Web 应用程序。
什么是路由?
在 Web 框架的上下文中,路由是指将传入的 HTTP 请求映射到特定处理函数的过程。每个路由都由一个 URL(路径)和一个 HTTP 方法(如 GET、POST 等)组成。当客户端向服务器发送请求时,服务器会根据请求的 URL 和 HTTP 方法来确定哪个路由应该处理该请求,并将请求转发给相应的处理函数。
FastAPI 路由的基本用法
在 FastAPI 中,路由是通过定义装饰器来创建的。装饰器是一个特殊的 Python 函数,它可以修改其他函数的行为。FastAPI 提供了一个 @app.get()
装饰器,用于处理 GET 请求,以及一个 @app.post()
装饰器,用于处理 POST 请求。你还可以使用其他 HTTP 方法,如 @app.put()
、@app.delete()
等。
下面是一个简单的 FastAPI 路由示例:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
在这个示例中,我们首先从 fastapi
包导入 FastAPI
类,然后创建一个 app
实例。接下来,我们使用 @app.get()
装饰器定义了一个路由,该路由的处理函数为 read_root
。当客户端向服务器的根 URL(/
)发送 GET 请求时,服务器将调用 read_root
函数,并返回一个包含 "Hello": "World" 的 JSON 响应。
路由参数
FastAPI 允许你定义路由参数,这些参数可以是路径参数、查询参数或请求体参数。路径参数是 URL 路径的一部分,而查询参数是 URL 查询字符串的一部分。请求体参数是 POST 或 PUT 请求中的 JSON 数据。
下面是一个带有路径参数的路由示例:
@app.get("/items/{item_id}")
def read_item(item_id: int):
return {"item_id": item_id}
在这个示例中,我们定义了一个带有路径参数 item_id
的路由。当客户端向 /items/1
(例如)发送 GET 请求时,服务器将调用 read_item
函数,并将 item_id
参数设置为 1。然后,函数将返回一个包含 "item_id": 1 的 JSON 响应。
总结
FastAPI 是一个现代、高效的 Web 框架,用于构建 API。它提供了一种简单、直观的方式来定义路由和处理 HTTP 请求。通过使用 FastAPI,你可以快速构建高性能的 Web 应用程序,并利用 Python 的类型提示系统来提高代码的可读性和维护性。