如何处理Flask中意外的url参数



我是Flask和web开发的新手。我有一个关于url参数的问题。

例如,我有一个端点"/categies",它不需要url参数。我尝试在curl中添加一些随机url参数,比如

curl localhost:5000/categories?page=1

它正常工作,我想知道这是否是预期的行为,或者我应该用一些错误或警告来处理它?

此外,如果我期望一个名为"id"的url参数,而请求中不包含url参数或错误的url参数。我应该如何处理这种情况?

在上述情况下,我应该中止什么状态代码?

谢谢你的帮助。

您需要检查查询字符串(URL中?之后的值(,以查看参数是否存在以及该值是否有效。有一些库可以使用decorator来完成这项工作,但您也可以手动完成。您需要在模块顶部导入请求对象。

from flask import request
@app.route('/categories')
def categories():
id = request.args.get('id') # will return None if key does not exist
if id:
# id exists, validate value here
pass
else:
# no id, return error or something
pass

相关问题:如何在Flask上获得查询字符串?