brunch

You can make anything
by writing

C.S.Lewis

by 서환수 Jan 20. 2024

FastAPI에서 엔드포인트 숨기기

FastAPI에서는 매우 손쉽게 Swagger UI를 생성할 수 있습니다. 그런데 자동으로 생성되는 Swagger UI에 노출시키고 싶지 않은 엔드포인트가 있을 수 있습니다.


이런 경우에는 include_in_schema라는 매개변수를 쓰면 됩니다.


from fastapi import FastAPI
app = FastAPI()

@app.get("/visible-endpoint", tags=["visible"])
def visible_endpoint():
    return {"message": "This endpoint is visible in the documentation."}

@app.get("/hidden-endpoint", tags=["hidden"], include_in_schema=False)
def hidden_endpoint():
    return {"message": "This endpoint is hidden in the documentation."}


위와 같이 데코레이터에서 include_in_schema=False로 매개변수 값을 설정해 주면 그 엔드포인트는 Swagger 문서에서 제외됩니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari