我有两个路径操作函数,它们看起来很相似,不同之处在于第一个函数返回specific个用户的所有数据,第二个函数只返回current个(已登录)用户的数据(使用模式UserOut
,它的字段较少):
@router.get("/{id}", response_model=User)
async def get_user(user_id: PydanticObjectId):
user = await User.find_one(User.id == user_id)
if user is None:
raise HTTPException(status_code=404, detail="User not found")
return user
@router.get("/me")
async def get_current_user(current_user: User = Depends(get_current_active_user)):
return current_user
问题是,当我从Postman调用第二个方法时,它将终结点/me
作为第一个终结点的id
,因此我总是得到简单的验证错误"me" is not a valid user ID
.
我怎么才能解决这个问题呢?我是否需要修改我的终端,或者是否有其他替代方案?