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