1.路径参数
声明路径参数时,可以使用Python格式字符串使用的相同语法声明路径“参数”或“变量”
- 无参数类型
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}") async def read_item(item_id):
return {
"item_id": item_id}
代码中没有规定参数item_id的数据类型
- 有数据类型
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: int):
return {
"item_id": item_id}
代码中规定了item_id的参数类型为int,如果传入的参数类型不符合规定的类型,则会返回错误,如下:
{
"detail": [
{
"loc": [
"path",
"item_id"
],
"msg": "value is not a valid integer",
"type": "type_error.integer"
}
]
}
该错误会清楚的指明验证未通过的点
注意:
创建路由的时候,你需要对路由的操作顺序进行调整,例如,您用/ users / me这个路由去获取当前的所有用户信息,然后通过/ users / {user_id}这个路由来获取某个用户id的信息,但是在FastAPI中的路由操作是按顺序来查找的,如果/ users / {user_id} 这个路由写在了/ users / me的前面,当您请求/ users / me时候,默认的会去匹配/ users / {user_id}的执行方法,此时的user_id的值是me
from fastapi import FastAPI
app = FastAPI()
@app.get("/users/me") async def read_user_me