16 FastAPI路径参数的使用示例
在上一篇文章中,我们探讨了如何使用请求体与响应处理来返回JSON数据。在本篇文章中,我们将重点关注FastAPI中的路径参数,以及如何使用这些参数来构建动态的API接口。接下来,我们将为您展示一个完整的示例,帮助您更好地理解路径参数的使用方式。
什么是路径参数?
在RESTful API设计中,路径参数是指通过URL中的特定位置来传递的参数。这些参数通常用于标识资源的唯一性,比如用户ID、产品ID等。在FastAPI中,您可以通过在函数的参数中定义特定类型的路径参数来轻松实现。
基本示例:使用路径参数
我们将创建一个简单的示例,构建一个API,它可以返回特定用户的信息。首先,我们需要安装fastapi
和uvicorn
(用于运行FastAPI应用):
1 | pip install fastapi uvicorn |
接下来,我们编写一个FastAPI应用:
1 | from fastapi import FastAPI |
在上面的代码中,我们做了以下事情:
- 创建API实例:使用
FastAPI()
创建一个API实例。 - 定义用户数据:创建一个简单的字典,模拟用户数据库。
- 定义路径参数:通过在路径
/users/{user_id}
中使用大括号,表示user_id
是一个路径参数。 - 获取用户信息:在
get_user
函数中,根据传入的user_id
返回相应的用户数据。如果用户不存在,则返回错误信息。
运行应用
我们可以使用以下命令运行上述FastAPI应用:
1 | uvicorn main:app --reload |
然后,我们可以在浏览器中访问 http://127.0.0.1:8000/users/1
,您应该会看到如下的JSON响应:
1 | { |
如果您访问一个不存在的用户,例如 http://127.0.0.1:8000/users/99
,则会收到如下响应:
1 | { |
路径参数的类型强制
在FastAPI中,路径参数的类型可以通过函数参数的类型注解确定。比如在上面的例子中,user_id: int
确保传入的路径参数是整数类型。FastAPI会自动进行类型验证,如果传入的参数类型不匹配,则会返回406错误。
示例:多个路径参数
我们还可以使用多个路径参数来构建复杂的API。例如,让我们扩展一下这个应用,增加用户的地址信息:
1 | # 更新用户信息,添加地址数据 |
在这个例子中,我们增加了一个新的路径 /users/{user_id}/address
,返回指定用户的城市信息。
请求示例
访问 http://127.0.0.1:8000/users/1/address
,您会得到:
1 | { |
结论
在本篇文章中,我们深入探讨了在FastAPI中如何使用路径参数来创建动态的API接口。路径参数允许我们根据请求的URL动态获取资源,使得API更加灵活。在下一篇文章中,我们将讨论查询参数的使用,同样也是构建RESTful API不可或缺的一部分。
如果您对本教程有任何疑问或建议,欢迎在评论区留言。感谢您的阅读!
16 FastAPI路径参数的使用示例