>  기사  >  백엔드 개발  >  FastAPI에서 사용자 정의 404 페이지를 만드는 방법은 무엇입니까?

FastAPI에서 사용자 정의 404 페이지를 만드는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-24 03:49:02261검색

How to Create a Custom 404 Page in FastAPI?

FastAPI를 사용하여 사용자 정의 404 찾을 수 없는 페이지를 반환하는 방법

소개

웹 애플리케이션을 만들 때 필수적입니다. HTTP 상태 코드를 적절하게 처리합니다. 발생할 수 있는 일반적인 상태 코드 중 하나는 404 Not Found입니다. 이는 요청한 리소스를 찾을 수 없음을 나타냅니다. 이 기사에서는 웹 API 구축을 위한 최신 Python 프레임워크인 FastAPI를 사용하여 사용자 정의 404 페이지를 반환하는 다양한 방법을 살펴봅니다.

예외 처리기 접근 방식

FastAPI는 편리한 방법을 제공합니다. 예외 처리 메커니즘을 통해 예외를 처리합니다. 404 예외 처리를 위한 사용자 정의 핸들러를 정의하고 사용자 정의 응답을 반환할 수 있습니다.

<code class="python">@app.exception_handler(404)
async def not_found_exception_handler(request: Request, exc: HTTPException):
    return RedirectResponse('https://fastapi.tiangolo.com')</code>

또는 FastAPI 클래스의 예외_핸들러 매개변수를 사용하여 전역 예외 핸들러를 등록할 수 있습니다.

<code class="python">async def not_found_error(request: Request, exc: HTTPException):
    return RedirectResponse('https://fastapi.tiangolo.com')

exception_handlers = {404: not_found_error}
app = FastAPI(exception_handlers=exception_handlers)</code>

미들웨어 접근 방식

또 다른 접근 방식은 HTTP 응답을 가로채고 상태 코드를 확인하는 미들웨어를 만드는 것입니다. 상태 코드가 404인 경우 미들웨어는 응답이 클라이언트에 도달하기 전에 사용자 정의 응답을 반환할 수 있습니다.

<code class="python">@app.middleware("http")
async def redirect_on_not_found(request: Request, call_next):
    response = await call_next(request)
    if response.status_code == 404:
        return RedirectResponse("https://fastapi.tiangolo.com")
    else:
        return response</code>

사용자 정의 페이지 응답

위에 언급된 방법 사용 , 간단한 리디렉션 응답을 반환할 수 있습니다. 그러나 템플릿을 정의하고 TemplateResponse를 반환하여 보다 사용자 정의된 404 페이지를 생성할 수도 있습니다.

<code class="python">from fastapi.templating import Jinja2Templates

templates = Jinja2Templates(directory='templates')

async def not_found_error(request: Request, exc: HTTPException):
    return templates.TemplateResponse('404.html', {'request': request}, status_code=404)</code>

templates 디렉토리에서 사용자 정의 404 페이지에 대해 원하는 콘텐츠가 포함된 404.html 템플릿을 생성합니다.

결론

예외 처리기, 미들웨어 또는 사용자 정의 페이지 응답을 활용하면 FastAPI에서 사용자 정의 404 Not Found 페이지를 쉽게 구현할 수 있습니다. 이를 통해 요청한 리소스를 찾을 수 없을 때 더욱 사용자 친화적인 환경을 제공할 수 있어 웹 애플리케이션의 전반적인 사용자 환경이 향상됩니다.

위 내용은 FastAPI에서 사용자 정의 404 페이지를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.