Skip to content

5. Response Headers


1. Response Headers

  • headers의 response를 살펴보자.


2. Use a Response parameter

  • path operation function에서 Response 타입의 매개변수를 선언할 수 있다.
  • 그런 다음 해당 임시 response 객체에 headers를 설정할 수 있다.


from fastapi import FastAPI, Response

app = FastAPI()

@app.get("/headers-and-object/")
def get_headers(response: Response):
    response.headers["X-Cat-Dog"] = "alone in the world"

    return {"message": "Hello World"}


  • 위의 예제와 같이 일반적인 모든 객체를 반환할 수 있다.
  • 그리고 response_model을 선언했다면, 반환된 객체를 필터링하고 변환하는 데 사용된다.
  • FastAPI는 해당 임시 response를 사용하여 headers를 추출하고, response_model로 필터링되어 반환된 값이 포함된 최종 response에 headers를 넣는다.
  • 또한 dependencies에서 매개변수 Response를 선언하고 headers를 설정할 수도 있다.


3. Return a Response directly

  • 코드에서 직접 Response를 반환할 때 headers를 생성할 수도 있다.


from fastapi import FastAPI
from fastapi.responses import JSONResponse

app = FastAPI()

@app.get("/headers/")
def get_headers():
    content = {"message": "Hello World"}
    headers = {"X-Cat-Dog": "alone in the world", "Content-Language": "en-US"}

    return JSONResponse(content=content, headers=headers)

References