728x90
1. FastAPI import
from fastapi import FastAPI
app = FastAPI()
2. BOOKS에 빈 List 생성
from fastapi import FastAPI
app = FastAPI()
BOOKS = []
3. 전체 리스트 return 하는 API 정의
from fastapi import FastAPI
app = FastAPI()
BOOKS = []
@app.get("/")
async def read_all_books():
return BOOKS
4. Book class 생성(BaseModel을 상속)
- 스키마 모델로 pydantic을 사용
- Books 클래스 내부 필드들이 각각의 Type Hints가 달림
- id 필드에 UUID
from fastapi import FastAPI
from pydantic import BaseModel
from uuid import UUID
app = FastAPI()
class Book(BaseModel):
id: UUID
title: str
author: str
description: str
rating: int
BOOKS = []
@app.get("/")
async def read_all_books():
return BOOKS
5. 추가 내용 정리
pydantic
data validation(유효성 검사)을 위한 python library
class와 attribute를 통하여 data와 모양을 선언할 수 있음
내장 라이브러리이므로 별도 설치가 필요 없음
pydantic 장점
새로운 언어를 익힐 필요 없다(IDE에서 쉽게 활용 가능)
request/response를 validate(확인)하는 데에 둘다 좋다
Customizing이 가능하다.
빠르고 python data class랑 부합한다.
Data validation
데이터가 정확하고 유용한지 확인하기 위해 데이터 정제를 거쳤는지 확인하는 프로세스
BaseModel
Pyhton의 dict 형태의 데이터를 Pydantic 모델로 변환하는데 사용 됨.
UUID
범용 공유 식별자(Universally Unique Identifier) 전세계적으로 고유한 값이다.
request이나 response에 대해서 str로 표현이 가능하다.
대한민국에서 암호화를 안하면 번법
728x90
SMALL
'Develop > FastAPI' 카테고리의 다른 글
FastAPI Fields / Data Validation - 15 (0) | 2022.12.22 |
---|---|
FastAPI Post Request BaseModel - 14 (0) | 2022.12.22 |
FastAPI Path / Query Parameters 정리 - 12 (0) | 2022.12.22 |
FastAPI Delete Request - 11 (0) | 2022.12.22 |
FastAPI Put Request - 10 (0) | 2022.12.22 |