본 포스팅은 인프런에서 제공하는 '실전! FastAPI 입문' 강의를 수강후에 정리 및 복습을 위해 작성하는 글입니다.
코드 분석
- schema의 클래스는 pydantic의 BaseModel을 상속받는다.
*BaseModel : FastAPI에서 사용되는 데이터 검증 및 직렬화를 위한 도구. Request와 Response 데이터의 유효성 검사, 변환, 직렬화 등을 자동으로 처리해 줌. - request.py는 클라이언트가 서버로 보내는 요청 데이터를 처리하는 모델을 정의. 데이터 유효성 검사 후 서버에서 사용할 수 있는 형태로 변환함.
- response.py는 서버가 클라이언트에게 보내는 응답을 처리하는 모델을 정의. 서버의 응답을 구조화하여 클라이언트에 반환.
schema > request.py
from pydantic import BaseModel
class CreateToDoRequest(BaseModel):
contents: str
is_done : bool
class SignUpRequest(BaseModel):
username: str
password: str
class LogInRequest(BaseModel):
username: str
password: str
class CreateOTPRequest(BaseModel):
email: str
class VerifyOTPRequest(BaseModel):
email: str
otp: int
schema > response.py
from typing import List
from pydantic import BaseModel
class ToDoSchema(BaseModel):
id: int
contents: str
is_done: bool
class Config:
orm_mode = True
class ToDoListSchema(BaseModel):
todos: List[ToDoSchema]
class UserSchema(BaseModel):
id: int
username: str
# orm객체를 pydantic으로 변환하기 위해
class Config:
orm_mode = True
class JWTResponse(BaseModel):
access_token: str
'공부 > FastAPI' 카테고리의 다른 글
[FastAPI] database (0) | 2025.01.22 |
---|---|
[FastAPI] api (0) | 2025.01.22 |
[FastAPI] 기본적인 사용법 (0) | 2025.01.22 |
[FastAPI] main.py (0) | 2025.01.22 |
[FastAPI] 프로젝트 구조 (0) | 2025.01.17 |