#python #keyword #fastapi
#python #ключевое слово #fastapi
Вопрос:
У меня возникла следующая проблема.
Мы разрабатываем нашу собственную платформу тестирования, и для целей тестирования мне нужно создать заглушку для одного из наших сервисов. Идея состоит в том, чтобы реализовать его с помощью FastApi, однако я столкнулся с проблемой. Строка запроса к этой службе выглядит следующим образом:
xrRequestTmpl = `%s/v2/click/rates?from=%samp;to=%samp;ticks=trueamp;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) является действительно менее предпочтительным решением из-за специфики указанной среды тестирования.
Ответ №1:
Да, это возможно, вы можете использовать псевдоним.
from fastapi import FastAPI
app = FastAPI()
@app.get('/my_path')
def rates(_from: str = Query(..., alias="from")):
pass