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

Python 如何处理Flask中意外的url参数,python,web,url,flask,backend,Python,Web,Url,Flask,Backend,我不熟悉Flask和web开发。我有一个关于url参数的问题 例如,我有一个端点“/categories”,它不需要url参数。我尝试在curl-like中添加一些随机url参数 curl localhost:5000/categories?page=1 它正常工作,我想知道这是否是预期的行为,或者我应该处理一些错误或警告 另外,如果我需要一个名为“id”的url参数,并且请求不包含url参数或错误的url参数。我该如何处理这种情况 在上述情况下,我应该中止什么状态代码 谢谢您的帮助。您需要检

我不熟悉Flask和web开发。我有一个关于url参数的问题

例如,我有一个端点“/categories”,它不需要url参数。我尝试在curl-like中添加一些随机url参数

curl localhost:5000/categories?page=1
它正常工作,我想知道这是否是预期的行为,或者我应该处理一些错误或警告

另外,如果我需要一个名为“id”的url参数,并且请求不包含url参数或错误的url参数。我该如何处理这种情况

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


谢谢您的帮助。

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

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
相关问题:

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

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
相关问题:

这是否回答了您的问题?这回答了你的问题吗?我想补充一点,您可以向request.args.get传递更多参数作为默认值和类型:like get(key,default=None,type=None),我想补充一点,您可以向request.args.get传递更多参数作为默认值和类型:like get(key,default=None,type=None),