요청 바디란 POST와 UPDATE 등 라우팅 메서드를 사용해 API로 전달되는 데이터다.
curl -X 'POST' 'http://127.0.0.1:8000/todo' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{"id":2, "item":"Validation"}'
에서 요청 바디는
{"id":2, "item":"Validation"}
이다.
FastAPI는 추가 검증할 수 있는 Body 클래스를 제공한다.
모델은 API 라우트와 요청 바디의 유형을 자동으로 문서화할 때도 사용된다.
FastAPI는 다음 총 2가지의 문서 유형을 제공하는데,
스웨거는 앞서 설명했던, http://127.0.0.1:8000/docs
이다.
ReDoc은 모델, 라우트, API에 관한 정보를 더 직관적이로 상세하게 전달한다.
http://127.0.0.1:8000/redoc
샘플 데이터를 추가해보자.
class Todo(BaseModel):
id: int
item: str
class Config:
schema_extra = {
"example": {
"id":1,
"item": "Exmple Schema!"
}
}