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