如何解决如果param的名称是python关键字,是否可以使用fastapi获取查询参数?
我遇到了以下问题。
我们正在开发我们自己的自定义测试框架,为了测试目的,我必须为我们的一项服务创建一个存根。 这个想法是使用 FastApi 来实现它,但是我遇到了一个问题。该服务的查询字符串如下所示:
xrRequestTmpl = `%s/v2/click/rates?from=%s&to=%s&ticks=true&ts=%v`
如您所见,其中一个查询参数是 'from',它是一个 python 关键字,所以我不能使用
from fastapi import FastApi
xr = FastAPI()
@xr.get('/v2/click/{path}')
def rates(path,from,to,ticks,ts):
pass
python 显然将 'from' 解释为与导入相关的关键字,并且不允许这样的语法。 不幸的是,我绝对无法更改查询字符串的语法,因为它已经集成在 prod env 中,所以我必须以某种方式接收这些参数。
如果能提供一个有效的代码示例或至少是一个提示,我将不胜感激。由于上述测试框架的特殊性,使用另一个库(不是 fastapi)是一个不太可取的解决方案。
解决方法
是的,可以,您可以使用 alias。
from fastapi import FastAPI
app = FastAPI()
@app.get('/my_path')
def rates(_from: str = Query(...,alias="from")):
pass
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。