FastAPI의 Response Class 유형

이 친구들은 모두 fastapi의 responses 라는 모듈에서 임포트 해 사용한다.

from fastapi.responses import (
	JSONResponse,
	HTMLResponse,
	...
	)

함수의 두번째 인자에 response_class=JSONResponse 등으로 응답 타입을 명시해주는 경우가 있다. 기본값이 JSONResonse이므로, 응답이 JSONResponse라면 두번째 인자를 주지 않아도 되지만 다른 타입을 사용할거라면 명시해줘야 함.

  1. JSONResponse
  2. HTMLResponse
  3. RedirectResponse
  4. PlainTextResponse
  5. FileResponse
  6. StreamingResponse

Jinja2는 TemplateReponse도 제공한다. 템플릿 뷰 엔진을 이용해 응답할때 사용

JsonResponse

인자에 Response에 들어갈 content, status_code 등을 넣어주면 이를 JSON형식으로 변환해서 응답함.

HTTPResponse

content에 html 템플릿을 전송하면 해당 템플릿을 렌더링하도록 반환함. 이때 템플릿 리터럴 문법을 이용해 html 문서를 동적으로 만들 수 있음.