FastAPI как отдать spa с реакт роутером?
Все так то работает, роуты связаны, все хостится, но есть проблема
Когда я хочу выйти куда то за пределы index.html, скажем на http://my-app/auth
мне отдает {"detail":"Not Found"}
app.mount("/", StaticFiles(directory='../STATIC-CONTAINER'))
# это было дописано после того, как я убедился!, что StaticFiles не помогают
@app.get("/{full_path:path}")
def handle_index(full_path: str) -> HTMLResponse:
with open('../STATIC-CONTAINER/index.html', 'r') as index:
return HTMLResponse(index)
что я не так делаю, информации в интернете я не нашел
Ответы (1 шт):
Автор решения: Yellow Dollar
→ Ссылка
Если вам нужно, чтобы все страницы, которые попадают в обработку 404 редиректились, например на главную страницу, вам нужно кастомизировать ответа сервера на статус код 404. Об этом можно больше почитать в документации, но вот вам краткий код обработки:
@app.exception_handler(404)
async def not_found_handler(request: Request, exc):
return JSONResponse(
status_code=404,
content={"message": "Details not found"},
)