이 친구들은 모두 fastapi의 responses 라는 모듈에서 임포트 해 사용한다.
from fastapi.responses import (
JSONResponse,
HTMLResponse,
...
)
함수의 두번째 인자에
response_class=JSONResponse
등으로 응답 타입을 명시해주는 경우가 있다. 기본값이 JSONResonse이므로, 응답이 JSONResponse라면 두번째 인자를 주지 않아도 되지만 다른 타입을 사용할거라면 명시해줘야 함.
Jinja2는 TemplateReponse도 제공한다. 템플릿 뷰 엔진을 이용해 응답할때 사용
인자에 Response에 들어갈 content
, status_code
등을 넣어주면 이를 JSON형식으로 변환해서 응답함.
content에 html 템플릿을 전송하면 해당 템플릿을 렌더링하도록 반환함. 이때 템플릿 리터럴 문법을 이용해 html 문서를 동적으로 만들 수 있음.