Почему эта конечная точка FastAPI возвращает пустую строку для дополнительного параметра электронной почты? ⇐ Python

Программы на Python
Anonymous
Почему эта конечная точка FastAPI возвращает пустую строку для дополнительного параметра электронной почты?

Сообщение Anonymous »

Я работаю над приложением FastAPI со следующей конечной точкой, предназначенной для обработки загрузки файлов, и необязательным параметром электронной почты для возврата оценки:

Код: Выделить всё

from fastapi import FastAPI, UploadFile, Response
from typing import Optional

app = FastAPI()

@app.post('/grades')
async def request_legacy(
response: Response,
grade_file: UploadFile,
grade_email: Optional[str] = None
):
# Doing other stuff here unrelated, but eventually do:
print(f"Grade email: {grade_email}")
return {"Group": grade_email or ""}
Я запрашиваю эту конечную точку, используя библиотеку запросов, следующим образом:

Код: Выделить всё

import requests

api_url = "http://localhost:8000/grades"

with open("request.py", "rb") as f:
files = {'grade_file': f}
data = {'grade_email': "test@mail.com"}

response = requests.post(api_url, files=files, data=data, verify=False)

print(response.json())
Однако каждый раз, когда я делаю этот запрос, я получаю пустую строку для Grade_email в теле ответа. Я не уверен, почему этот необязательный параметр не считывается моей конечной точкой правильно.
Я пробовал отправить его несколькими способами, но не понимаю, как это будет работать. Я проверил журналы на наличие ошибок и убедился, что использую правильный ключ для словаря в данных.

Подробнее здесь: https://stackoverflow.com/questions/790 ... il-paramet

Вернуться в «Python»