У меня есть сервер, реализованный с использованием FastAPI на Python, и я отправляю на сервер большие данные (~2 ГБ) через запрос POST. Как только запрос будет обработан на стороне сервера, я хотел бы вернуть клиенту ответ 201 «Создано».
Ответ 201 должен иметь тело , поэтому мне не следует отправлять ответ с пустым телом (https://developer.mozilla.org/en-US/doc ... thods/POST), но в то же время я не Я не хочу отправлять обратно вновь созданный ресурс, поскольку он настолько велик, и клиенту не нужен ресурс в момент запроса POST . В качестве альтернативы у меня возникнет соблазн ответить кодом 204 «Нет контента», но, похоже, это не рекомендуемый ответ для успешного запроса POST.
Итак, если будет отправлен ответ 201, каким должен быть текст ответа, чтобы избежать отправки больших данных без причины?
Вот минимальный код, описывающий мою проблему, в настоящее время возвращающий ответ 201 с пустым телом:
from fastapi import FastAPI, HTTPException, Response, status
app = FastAPI()
@app.post("/data", status_code=status.HTTP_201_CREATED)
async def send_data(data, response: Response):
try:
# process data on the server
# ...
pass
except Exception as e:
raise HTTPException(status.HTTP_500_INTERNAL_SERVER_ERROR, e)
return response # response with empty body
Подробнее здесь: https://stackoverflow.com/questions/781 ... t-with-lar