Falcon筛选帮助程序
falcon-filtering的Python项目详细描述
一个小的falcon钩子来解析请求中的过滤元素。
用法
使用此挂钩的最简单方法如下:
classResource:filtering_fields=("foo","bar")# List of fields allowed for filtering@falcon.before(FilteringHook())defon_get(self,req,resp,user):# Here req['context']['filters'] is set
钩子将在查询参数中查找类似于filter[key]=value
的参数。
它将创建一个过滤器dict到可在req.context['filters']
访问的请求上下文中。
在这个dict中,键将是从括号之间提取的键。
即上面例子中的key
。
配置选项
允许筛选字段
出于安全原因,必须在资源的filtering_fields
属性中指定允许筛选的字段。
钩子将丢弃其中未定义的所有字段。
挂钩配置
一个参数可以传递给钩子:
- 筛选密钥:用于筛选的密钥的基名称。默认值:
filter
。
示例:
@falcon.before(PaginationFromRequestHook(filtering_key='custom_filter',))defon_get(self,req,resp,user):# Get request