如何在FastAPI中获取包含空值键的查询参数?
处理GET请求中无值查询参数的问题
当GET请求的查询参数仅传入键(比如URL为http://your-domain.com/?name,name无对应值),使用request.query_params时,可通过以下方式获取这类参数:
- 检查参数是否存在:直接用成员运算符判断,比如
'name' in request.query_params,只要URL里包含该键,哪怕无值也会返回True。 - 获取参数对应值:用
request.query_params.get('name')会得到空字符串'';如果要区分“参数不存在”和“参数存在但无值”,可以传入默认值:request.query_params.get('name', None),此时参数不存在时返回None,存在无值时返回''。 - 批量获取所有无值参数:遍历
request.query_params的键值对,筛选出值为空字符串的参数:
empty_query_params = [key for key, value in request.query_params.items() if value == '']
本质上,Django REST Framework的request.query_params是request.GET的别名,Django会将URL中无值的查询参数默认设为空字符串存储,只要通过正确方式访问QueryDict对象,就能拿到这类参数。
内容的提问来源于stack exchange,提问作者devio clicks
相关产品推荐
相关产品推荐

