FastAPI BaseModel 생성 - 13

2022. 12. 22. 09:57·Develop/FastAPI
728x90
SMALL

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
'Develop/FastAPI' 카테고리의 다른 글
  • FastAPI Fields / Data Validation - 15
  • FastAPI Post Request BaseModel - 14
  • FastAPI Path / Query Parameters 정리 - 12
  • FastAPI Delete Request - 11
동석해요
동석해요
공부하고 싶은게 많은, 사소한 IT 지식들 공유
    250x250
  • 동석해요
    개발로 자기계발
    동석해요
  • 전체
    오늘
    어제
    • 분류 전체보기 (226)
      • Develop (126)
        • 기초지식 (12)
        • FastAPI (102)
        • Django (11)
      • Database & Data (62)
        • 기초지식 (16)
        • MySQL (29)
        • PostgreSQL (8)
        • 데이터 분석 (9)
      • 인공지능 (11)
        • PyTorch (9)
      • Cloud (8)
        • AWS (4)
        • GCP (2)
      • 버그처리 (14)
      • 회고 & 일상 (5)
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
동석해요
FastAPI BaseModel 생성 - 13
상단으로

티스토리툴바