Python3 Flask 路由变量显示为变量名而不是邮递员传递的值
Python3 Flask route variable shows up as the variable name instead of value passed from postman
我有以下 python flask api 路线:
@user_api.route("/<int:id>", methods=["GET"])
@Authentication.auth_required
def get_user(id):
"""
Get a user
"""
print(f"User id: {id}")
user = user_schema.dump(UserModel.get_user(id))
if not user:
print(f"User id: {id} not found!")
return custom_response({"error": f"User {id} not found!"}, 400)
return custom_response(user_schema.dump(user), 200)
来自 http://localhost:5555/api/v1/users/5
的邮递员的 GET
总是以:
结尾
{
"error": "User id not found!"
}
并且 python 控制台输出显示:
User id: id
User id: id not found!
这意味着路由变量在函数中作为变量名而不是值结束。 int
和 string
变量类型都会发生这种情况。这很奇怪。我想念什么?
这是由于 @Authentication.auth_required
装饰器函数在将 kwargs
传递给装饰函数时出错。它漏掉了一个星号。所以它错误地传递了 **kwargs
而不是 **kwargs
。
我有以下 python flask api 路线:
@user_api.route("/<int:id>", methods=["GET"])
@Authentication.auth_required
def get_user(id):
"""
Get a user
"""
print(f"User id: {id}")
user = user_schema.dump(UserModel.get_user(id))
if not user:
print(f"User id: {id} not found!")
return custom_response({"error": f"User {id} not found!"}, 400)
return custom_response(user_schema.dump(user), 200)
来自 http://localhost:5555/api/v1/users/5
的邮递员的 GET
总是以:
{
"error": "User id not found!"
}
并且 python 控制台输出显示:
User id: id
User id: id not found!
这意味着路由变量在函数中作为变量名而不是值结束。 int
和 string
变量类型都会发生这种情况。这很奇怪。我想念什么?
这是由于 @Authentication.auth_required
装饰器函数在将 kwargs
传递给装饰函数时出错。它漏掉了一个星号。所以它错误地传递了 **kwargs
而不是 **kwargs
。