FastAPI的路径参数

背景

如果你学过Java,你应该记得path variable,这和FastAPI中的path Parameters 是一个意思。

路径参数,顾名思义,就是在路径上的参数,比如 /user/123,这里的 123 就是路径参数。

路径参数是用于标识资源或指定唯一标识符的变量,它们通常在URL的路径部分传递。使用路径参数的主要目的是为了构建灵活和可重用的API端点,允许客户端通过更改URL中的特定部分来请求不同的资源。

例如,在一个RESTful API中,你可能有一个用于获取单个用户的端点,该端点可能会如下所示:

GET /users/{user_id}

这里的 {user_id} 就是一个路径参数,它表示要获取的具体用户。当你实际调用这个端点时,{user_id} 会被具体的用户ID替换,例如:

GET /users/123

这样就可以返回用户ID为123的用户信息。

代码

from fastapi import FastAPI

app = FastAPI()
# 这里是假设users是数据库中的数据
users = {
    1: {
        "name": "小明",
        "age": 20,
        "gender": "男",
        "hobby": ["篮球", "足球", "乒乓球", "羽毛球"]
    },
    2: {
        "name": "王武",
        "age": 40,
        "gender": "男",
        "hobby": ["抽烟", "喝酒", "烫头", "羽毛球"]
    },
}


@app.get("/user/{id}")
async def read_item(id: int):
    return {
        "code": 200, "user": users.get(id)}

测试

当我们访问http://localhost:8000/user/1时,可以得到结果

{
  "code": 200,
  "user": {
    "name": "小明",
    "age": 20,
    "gender": "男",
    "hobby": [
      "篮球",
      "足球",
      "乒乓球",
      "羽毛球"
    ]
  }
}

你也可以将参数换成2,或者其他数字试试。

总结

使用路径参数的好处包括:

  1. 明确性:路径参数使得URL更具描述性和易于理解,因为它们清楚地表明了正在访问哪个资源。
  2. 灵活性:路径参数允许客户端根据需要请求不同的资源实例。
  3. 重用性:使用路径参数可以创建通用的路由处理函数,这些函数可以处理多种不同的资源,只要它们遵循相同的模式。
  4. 可扩展性:随着系统的增长,添加新的资源实例变得容易,只需要在URL中插入适当的参数即可。

此外,路径参数也常常与HTTP方法(如 GET, POST, PUT, DELETE 等)结合使用,以实现资源的CRUD操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

micro_cloud_fly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值