기술블로그-Fastapi편

✅ FastAPI 함수 리턴 타입 힌트 -> CreateMeetingResponse 완전 정리

Chansman 2025. 5. 27. 11:26

✅ FastAPI 함수 리턴 타입 힌트 -> CreateMeetingResponse 완전 정리


1. 📌 예시 코드

@edgedb_router.post("", description="meeting 을 생성합니다.")
async def api_create_meeting_edgedb() -> CreateMeetingResponse:
    return CreateMeetingResponse(url_code="abc")

이 코드에서 핵심은 -> CreateMeetingResponse: 부분입니다.


2. ✅ -> CreateMeetingResponse의 의미

  • 함수가 CreateMeetingResponse 타입의 객체를 반환한다는 것을 명시합니다.
  • 이건 **"리턴 타입 힌트(return type hint)"**라고 부릅니다.

예시:

def func() -> int:
    return 5

→ 이 함수는 int 타입을 리턴한다는 의미입니다.


3. 🔍 왜 사용하는가?

이유 설명

📘 Swagger 문서 자동 생성 FastAPI가 이 정보를 바탕으로 응답 스키마를 문서화
💡 가독성 향상 코드를 보는 사람이 어떤 타입이 반환되는지 바로 이해 가능
🤖 자동완성 지원 VSCode, PyCharm에서 반환값 속성 자동완성 가능
🔍 타입 검사 MyPy 등의 도구가 타입 오류를 사전에 알려줌

4. 🧠 실제 동작 예시

from pydantic import BaseModel

class CreateMeetingResponse(BaseModel):
    url_code: str

이 모델이 리턴 타입으로 지정되면 Swagger 문서에는 다음처럼 표시됩니다:

{
  "url_code": "abc"
}

즉, 이 함수가 반환하는 JSON 구조를 API 문서에서 자동으로 보여줄 수 있게 됩니다.


5. ✨ 요약

항목 설명

-> Python의 리턴 타입 힌트 문법
CreateMeetingResponse 리턴될 객체의 구조 (보통 Pydantic 모델)
역할 Swagger 문서 생성, IDE 자동완성, 코드 명확성 향상

FastAPI에서 ->를 통한 리턴 타입 지정은 문서화와 유효성 검사의 핵심입니다.
리턴 객체가 보이지 않더라도 이 힌트 덕분에 전체 흐름을 명확히 파악할 수 있으니 적극적으로 활용해보세요!