在Python EVE中,如何验证where子句

在Python EVE中,如何验证where子句,python,eve,Python,Eve,似乎我可以向Eve发出GET请求,并在过滤参数无效的情况下使用?where查询(它们不通过我的资源架构的验证规则) 似乎我甚至可以发布一个where查询,其属性甚至不存在于资源模式中 到目前为止,我得到了一个空列表(当然,因为这些错误的where过滤器没有有效的匹配项),但是有没有办法直接拒绝请求,抱怨参数不正确或什么的 谢谢 你应该看看 在您的特定情况下,您可能需要使用pre_GEThook 在hook函数中,您可以访问request对象,我认为您可以在其中访问where子句 如果验证失败,您

似乎我可以向Eve发出GET请求,并在过滤参数无效的情况下使用
?where
查询(它们不通过我的资源架构的验证规则)

似乎我甚至可以发布一个
where
查询,其属性甚至不存在于资源模式中

到目前为止,我得到了一个空列表(当然,因为这些错误的
where
过滤器没有有效的匹配项),但是有没有办法直接拒绝请求,抱怨参数不正确或什么的

谢谢

你应该看看 在您的特定情况下,您可能需要使用
pre_GET
hook

在hook函数中,您可以访问
request
对象,我认为您可以在其中访问
where
子句

如果验证失败,您可以提出
werkzeug.exceptions.BadRequest

您应该查看 在您的特定情况下,您可能需要使用
pre_GET
hook

在hook函数中,您可以访问
request
对象,我认为您可以在其中访问
where
子句


如果您的验证失败,您可以提出
werkzeug.exceptions.BadRequest

嗯,我有点知道。:)使用提供的挂钩,您几乎可以做任何您想做的事情。我希望能以某种方式打开一个开关,让它自动生效,也许我错过了或读错了。奇怪的是,没有人要求它,或者默认不包括在内!您是否可以编辑要进行“内置”验证的问题或接受我的答案?;)我知道你是从哪里来的。我想既然没有造成任何伤害(如果查询参数不正确,您会得到一个空列表),这就不是问题了(还没有?)。但是我可以想象查询参数的内置验证是有用的,特别是当它向调用者返回有用的错误时使用提供的挂钩,您几乎可以做任何您想做的事情。我希望能以某种方式打开一个开关,让它自动生效,也许我错过了或读错了。奇怪的是,没有人要求它,或者默认不包括在内!您是否可以编辑要进行“内置”验证的问题或接受我的答案?;)我知道你是从哪里来的。我想既然没有造成任何伤害(如果查询参数不正确,您会得到一个空列表),这就不是问题了(还没有?)。但我可以想象查询参数的内置验证是有用的,特别是当它向调用者返回有用的错误时。