12 FastAPI 路由与请求处理之路径参数
在上一篇文章中,我们深入探讨了 FastAPI 中的 HTTP 方法如何被使用。本篇文章将专注于路径参数的使用,帮助你理解如何在 FastAPI 中提取和使用路径参数。路径参数是构成 URL 的一部分,通常用于获取特定资源的信息。
什么是路径参数?
路径参数是嵌入在路径中的变量,它们使得 URL 更具动态性。比如,假设我们有一个用户管理系统,用户的唯一标识符是用户 ID。我们可以定义一个 URL /users/{user_id}
来获取某个特定用户的信息,其中 {user_id}
是一个路径参数。
FastAPI 中如何定义路径参数
FastAPI 允许我们在路由中直接定义路径参数。下面是一个基本的示例,展示了如何创建一个带有路径参数的路由:
1 | from fastapi import FastAPI |
在这个例子中,{user_id}
是路径参数。我们指定了一个 GET 请求,当访问 /users/1
时,user_id
将被解析为 1
,并作为整数传递给 read_user
函数。
路径参数的类型
在 FastAPI 中,路径参数能够自动进行数据验证和转换。例如,在上面的例子中,如果你尝试访问 /users/abc
,FastAPI 将返回一个 422 的错误,表示参数类型不正确。
你可以使用多个路径参数。以下是一个包含用户 ID 和其他信息的示例:
1 |
|
访问 URL /users/1/items/10
时,user_id
将为 1
,item_id
将为 10
。
如何处理可选路径参数
FastAPI 支持可选路径参数,需要使用默认值来标识。下面是一个示例,展示了如何处理可选的路径参数:
1 |
|
在这个例子中,tag_id
是一个可选的路径参数。如果不提供 tag_id
,它的默认值将为 None
。
完整示例
下面是一个完整的 FastAPI 应用程序示例,结合了路径参数的使用,包含用户和他们的项目:
1 | from fastapi import FastAPI |
小结
在这一部分中,我们学习了如何在 FastAPI 中定义和使用路径参数,如何处理不同类型和可选参数。路径参数使得创建 RESTful API 时能够灵活地访问特定的资源。
在下一篇文章中,我们将继续探索请求体的处理,包括如何接收和验证请求体中的数据。希望本篇能够帮助你深入了解路径参数的使用,打下坚实的基础。如果你对 FastAPI 有更多热情,欢迎继续关注我们的系列教程!
12 FastAPI 路由与请求处理之路径参数