#python #fastapi
Вопрос:
Я прочитал документацию, и это, похоже, не работает для меня. Я последовал за этим доком. Но я не уверен, связано ли это с тем, что я пытаюсь сделать, я думаю, что этот документ предназначен для передачи таких запросов — site.com/endpoint?keyword=test
Вот моя цель: api.site.com/test/(дополнительное поле)
поэтому, если кто-то переходит на конечную точку «тест», то необязательное поле по умолчанию становится параметром, но если они что-то там добавляют, оно принимает это как ввод.
С учетом сказанного, вот мой код:
@app.get("/company/{company_ticker}/model/{financialColumn}", dependencies=[Depends(api_counter)])
async def myendpoint(
company_ticker: str,
financialColumn: Optional[str] = 'netincome',
..
myFunction(company_ticker, financialColumn)
я пытаюсь сделать следующее: если они просто перейдут к конечной точке без дополнительного флага, то по умолчанию будет «netincome», но если они что-то добавят, то для financialColumn будет установлено это значение.
Могу ли я что-нибудь сделать?
Комментарии:
1. Я не знаю, поможет ли это. Но пробовали ли вы это ?. Это то, что я нашел в тестовом примере, а не в документации.
2. @AbdulNiyasPM Спасибо за ссылку. Я посмотрел, и это было то, что я пытался сделать раньше. Я принял ответ ниже, который сработал.
Ответ №1:
Насколько я знаю, это не будет работать так, как вы это устроили. Хотя вы можете попробовать что-то вроде этого:
@app.get("/company/{company_ticker}/model/", dependencies=[Depends(api_counter)])
@app.get("/company/{company_ticker}/model/{financialColumn}", dependencies=[Depends(api_counter)])
async def myendpoint(
company_ticker: str,
financialColumn: Optional[str] = 'netincome'
):
myFunction(company_ticker, financialColumn)
Таким образом, если кто-то зайдет "/company/{company_ticker}/model/"
или "/company/{company_ticker}/model/blabla"
функция myendpoint
обработает запрос.
Не уверен, что это работает так, как вы хотите, но в данный момент я не могу это проверить. Может быть, позже. Дай мне знать.
Комментарии:
1. Я проверю это..если это сработает, то это потрясающе..если это не сработает..вы все еще потрясающи за помощь!