FastAPI StreamingResponse media_type=»приложение/pdf»

#python #fastapi

Вопрос:

Я пытаюсь вернуть pdf файл как

 return StreamingResponse(generator, headers={"Content-Disposition": filename}, media_type="application/pdf")
 

Кроме того, я вызываю ошибку, если файл не найден

 raise HTTPException(HTTP_404_NOT_FOUND, "File not found")
 

Проблема в том, что redoc показывает

 RESPONSE SCHEMA: application/json
 

Мне нужно response schema быть application/pdf , когда это произойдет, и application/json когда error это произойдет.

Я пробовал использовать response_class и responses в декораторе @router.get() , но ни один из них не работал 🙁