- 1. FastAPI 입문: 설치부터 Hello World 까지
- 2. Path 와 Query 매개변수 (URL 로 데이터 받기)
- 3. Pydantic 으로 Request Body 다루기
- 4. Response Model 과 HTTP 상태 코드
- 5. 예외 처리 (HTTPException 완벽 가이드)
- 6. 의존성 주입 (Dependency Injection) 정복
- 7. SQLAlchemy 비동기 데이터베이스
- 8. JWT 인증과 보안 (로그인부터 토큰 갱신까지)
- 9. 실시간 통신 (WebSockets & SSE)
- 10. 테스트 작성법 (Pytest 완전 가이드)
3. Pydantic 으로 Request Body 다루기
# 3 강. Pydantic 으로 Request Body 다루기
## 🎯 학습 목표
- Pydantic 모델 정의하기
- JSON Request Body 수신하기
- 자동 유효성 검사
---
## 1. Pydantic 모델 정의
```python
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
description: str | None = None
```
---
## 2. 사용법
```python
from fastapi import FastAPI
app = FastAPI()
class Item(BaseModel):
name: str
price: float
@app.post("/items/")
def create_item(item: Item):
return item
```
**요청 예시:**
```json
{
"name": "Laptop",
"price": 999.99
}
```
---
## 3. Field() 로 상세 검증
```python
from pydantic import BaseModel, Field
class UserCreate(BaseModel):
username: str = Field(..., min_length=3, max_length=20)
email: str = Field(..., pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$")
password: str = Field(..., min_length=8)
age: int = Field(..., ge=1, le=150)
```